Comments
Description
Transcript
20160510 文字.pages
マルチメディアシステム論 資料 (2016.5) マルチメディアと文字 (1) 1 情報通信と文字 2 文字コードの種類 文字集合(常用漢字,日本で使われる文字,韓国で使われる文字などを「文字集合」という)は特定の 「符号化方式」でバイナリコードに割り当てられる。これを文字コードといい,この集合を「符号化文字集 合」という。 日本で使われる文字コードの代表的なものは以下のとおり: JIS 8bit コード / JIS漢字コード / シフトJISコード / EUCコード / Unicode 2.0 JIS 8bit コード表 2.1 JIS 16bit 漢字コード (1) JIS X 0208:1997 6,879字 (JIS X 0208-1990 ← JIS C 6226-1978) 「7ビット及び8ビットの2バイト情報交換用符号化漢字集合」 第一水準: 漢字2,965+非漢字524字(ひらがな,カタカナ,記号等を含む。基本的に「音読み」順) 第二水準: 漢字3,390字(人名によく使われる字体等,部首・画数順) (2) JIS X 0213:2004 11,233字 「7ビット及び8ビットの2バイト情報交換用符号化拡張漢字集合」 (1) に加え, 第三水準: 漢字1,259字 第四水準: 漢字2,436字+非漢字659字(丸数字などを含む) (参考) 1/4 マルチメディアシステム論 資料 (2016.5) JIS拡張漢字(JIS X 0213:2004)(全コード表) http://www.asahi-net.or.jp/ ax2s-kmtn/ref/jisx0213/ (3) 区点コード ※区点コードとはバイナリデータをマッピングする表現方法で,符号化方式ではない。 JISコードの各バイトは 0x21∼0x7e までの94種類のいずれかになる。(7bit 表現で「制御文字」(0x00∼ 0x20, 0x7f) を除いた値)。文字コードは 2 バイトなので,94(区) 94(点)(=8,836文字分)のいず れかに文字コードがマッピングされる。この表現方法を「区点コード」という。 JIS X 0213 では,上記だけでは間に合わなくなったので,区点コードに「面」という概念を加え, 「面」「区」「点」で文字コードを表現している。具体的には JIS X 0208 と第三水準が第1面に,第四水 準が第2面にマッピングされている。 (4) エスケープシーケンス JIS 16 ビットコードと, ASCII コードなど他の符号化方式の文字コードは,そのままでは混在させるこ とができない。たとえば,全角文字Aは,JIS コードでは 0x2341 であるが,半角文字 # は 0x23, A は 0x41 なので,両者を混在させるには「符号化方式を切り替える」仕組みが必要になる。 これを実現したのが「エスケープシーケンス」で, JIS コードでは以下のシーケンスが定義されている。 [ESC](B [ESC](J [ESC]$@ [ESC]$B [ESC]$(Q [ESC]$(P ASCII JISローマ字 JIS-1978 JIS-1983 1面の漢字集合 2面の漢字集合 2.2 Unicode ISO で制定された UCS (Universal multi-octet coded Character Set) の2バイト方式 (UCS-2) とほぼ 同じコード。2バイトなので,最大 65,536 文字を割り当てられる。各国の文字を「ユニフィケーション」 で合わせたこともあり,ソート順については保証されていない。 UCS には UCS-4 という 4バイトで文字を マッピングするコードもある。 (1) UTF (UCS Transformation Format) Unicode の符号化方法。(RFC2279, RFC2781で定義) UTF-16 は UCS-2のほか, UCS-4 の文字も扱えるように拡張された符号化方法。1文字2または4byte。 UTF-8 は ASCII 文字はASCIIコードと同じ,それ以外の文字は可変長バイト(1-6byte)に符号化される。 UTF-32 はすべての文字を4バイトで表す。 3 文字に関わる問題点 ・文字コード表の違い ・改行コード ・メタレベルのコード指定 [演習] 0 使用アプリケーション(Windows でのほぼ等価なアプリケーション例) テキスト・エディタ: mi (TeraPad) テキスト・エディタ: テキストエディット(ワードパッド?) バイナリ・エディタ: 0xED(String) 2/4 マルチメディアシステム論 資料 (2016.5) 1. ホームディレクトリに 'moji-sample' という名前で新しいフォルダを作り,テキストエディタ mi を 使って,以下の内容のファイルを保存する。(ホームディレクトリ上,右クリックで「新規フォルダ」) 0123456789+-*/! ABCDEFGHIJKLMNO abcdefghijklmno あいうえお 福島123大学abc 2. 文字コードは Shift_JIS,改行コードは以下のものに変更して,指定したファイル名で保存しなさい。 moji-sjis-lf.txt LF(UNIX) moji-sjis-cr.txt CR(Mac) moji-sjis.crld.txt CR+LF(Windows) 3. 改行コードは LF(UNIX),文字コードは以下のものに変更して,指定したファイル名で保存しなさい。 moji-jis-lf.txt ISO-2022-JP moji-euc-lf.txt EUC-JP moji-utf8-lf.txt UTF-8 4. 保存したテキストファイルを 0xED で開き,以下の項目を調べなさい。 何バイトのテキストファイルか。 ファイルの大きさが異なる原因は何か。 5. Webブラウザ Safari で,以下の URL を開き,各リンク先を表示なさい。 http://isl.sss.fukushima-u.ac.jp/ shinoda/jugyou/87126/2015/siryou/20150512/moji-sample/ いわゆる「文字化け」はなぜ起きるのか。 (課題) 1. 日本で使われている文字コードについて,その特徴を調べなさい。 2. 「明朝体」「ゴシック体」など,実際の場面では,文字コードだけでは区別できない表現方法がある。 どのような表現方法があるか調べなさい。 (参考) 日本語と文字コード http://www.kanzaki.com/docs/jcode.html 日本の文字コード http://www.asahi-net.or.jp/ ax2s-kmtn/character/japan.html JIS X 0213の代表的な符号化方式 http://www.asahi-net.or.jp/ wq6k-yn/code/enc-x0213.html Unicode 6.0 Character Code Charts http://www.unicode.org/charts/ 3/4 マルチメディアシステム論 資料 (2016.5) 付録 1. テキストエディタ mi の簡単な使い方 文字コード,改行コードの設定 保存ダイアログの拡張(「名前」右の▲をクリック) 2. 0xEDの簡単な使い方 幅を16バイト境界に合わせると見やすい。下ペインで文字を表示するときは文字コードを合わせる。 4/4