情報科学 I
第 3 回
rtf と txt の違い
補足
1. MacOS 日本語とは異なる文字コード
テキストエディットでは標準テキストの編集において
読み込むテキストおよび保存するテキストの文字コードを
選択することができます。
-
手順 1. 「テキストエディット」メニューから「環境設定」を選んでください。
「環境設定」ウィンドウが表示されます。
-
手順 2.「デフォルトの標準テキストエンコーディング」の項目の
「開く:」と「保存:」のポップアップメニューから望みの文字コードを
選択してください。
2. Unicode について
Unicode は多言語対応文字コードで 2003 年 4 月 18 日現在で最新バージョンは Unicode 3.2.0 です。ユニコードコンソーシアムの Web サイトの URI は以下の通りです。
http://www.unicode.org/
Unicode の文字とコードとの対応表は以下の URI からダウンロードできます。
http://www.unicode.org/charts/
基本的に Unicode には文字を 32 bit でコードする方式と
文字を 16 bit でコードする方式の 2 種類があります。
ここでは基本的に文字を 16 bit でコードする方式を基に説明します。
3. UTF-16 について
UTF-16 は Unicode を (基本的には) 16 bit (2 バイト) のまま使う方式です。
ただし 16 bit を 8, 8 bit に分割して
- UTF-16BE
- 順に記録する形式
- UTF-16LE
- 逆順に記録する形式
- UTF-16
- 順になっているか逆順になっているかのマークを付け足す
の 3 通りの方式があります。テキストエディットの UTF-16 で作成される
標準テキストのコードは 3 番目の方式です。
3 番目の順になっているか逆順になっているかのマークには以下の 2 バイトの
データを用います。
- FE FF
-
これ以降のコードはバイト順になっている
- FF FE
-
これ以降のコードはバイト逆順になっている
テキストエディットの UTF-16 で作成される標準テキストのコードはバイト順です。
ファイルの先頭の 2 バイトは必ず FE FF というデータになっています。
- 例 -
ひらがな
-
手順 1. http://www.unicode.org/charts/から Hiragana と表示されたリンクを
クリックしてひらがなのコード表をダウンロードして下さい。
-
手順 2. テキストエディットで標準テキストを編集するように設定して下さい。
保存も開くのも UTF-8 で行うように設定して下さい。
-
手順 3. たとえば 「これはてすとです」(括弧はふくめない)と入力して下さい。
保存して下さい。
-
手順 4. 「HexEditor」で手順 3. で作成したテキストファイルを開いて下さい。
-
手順 5. 最初の 2 バイトが FE FF になっていることを確かめて下さい。
-
手順 6. ひらがなの Unicode のコード表からそれぞれの文字のコードを探してバイト順になっていることを確かめて下さい。
4. UTF-8 について
UTF-8 は Unicode に基づき 8 bit を単位とするテキストファイルのコード方式です。
Unicode でのコード番号によって文字を以下の3種類に分類します。
-
1 バイトコード文字 (Unicode コード番号が 0000 〜 007f)
-
2 バイトコード文字 (Unicode コード番号が 0080 〜 07ff)
-
3 バイトコード文字 (Unicode コード番号が 0800 〜 ffff)
4-1. UTF-8 への変換
-
1 バイトコード
-
ASCII コードは規格では 7 bit です。
8 bit の先頭のビットを 0 にして残りの 7 bit を ASCII コードをそのまま用います。
-
2 バイトコード
-
Unicode の 16 bit を 先頭から 4 bit、6 bit、6 bit の 3 つの部分に分けます。
最初の 4 bitの部分は必ず 0000 であるので省略します。
次の 6 bit の部分の前に 11 を付け足し 8 bit にします。
最後の 6 bit の部分の前に 10 を付け足し 8 bit にします。
この 2 バイトであらわします。
-
3 バイトコード
-
Unicode の 16 bit を 先頭から 4 bit、6 bit、6 bit の 3 つの部分に分けます。
最初の 4 bitの部分の前に 1110 を付け足し 8 bit にします。
次の 6 bit の部分の前に 10 を付け足し 8 bit にします。
最後の 6 bit の部分の前に 10 を付け足し 8 bit にします。
- 例 -
ひらがな (3 バイトコード)
-
手順 1. http://www.unicode.org/charts/から Hiragana と表示されたリンクを
クリックしてひらがなのコード表をダウンロードして下さい。
-
手順 2. テキストエディットで標準テキストを編集するように設定して下さい。
保存も開くのも UTF-8 で行うように設定して下さい。
-
手順 3. たとえば 「これはてすとです」(括弧はふくめない)と入力して下さい。
保存して下さい。
-
手順 4. 「HexEditor」で手順 3. で作成したテキストファイルを開いて下さい。
-
手順 5. ひらがなの Unicode のコード表からそれぞれの文字のコードを探し、
変換規則にしたがって UTF-8 の形式を再現して下さい。
「こ」の例
-
「こ」の Unicode はコード表より 3053。
-
16 bit であらわすと 0011|0000|0101|0011。(ただし 4 bit 毎に | を記入。)
-
16 bitを 4, 6, 6 bit に分割すると 0011|000001|010011。(ただし分割する所に | を記入。)
-
4, 6, 6 bit の前にそれぞれ1110, 10, 10 を挿入すると 11100011|10000001|10010011。
-
16 進数であらわすと E3 81 93 という 3 bit になります。
-
HexEdit で開いたテキストファイルの最初の 3 バイトは「こ」の字をあらわしています。
2003 Apr 18, Fri
revised: 2004 Jun 14, Mon
MIYAKAWA, T.
takeshi@ls.toyaku.ac.jp
Tokyo Univ. of Pharmacy and Life Science