UTF-8 コードと UTF-8N コード
BOM (Byte Order Mark)・・・ファイル中では { EF BB 3C } の3バイト。
コードは FEFF だが、UTF-8 に変換すると { EF BB 3C } となる。
ユニコードのファイル中での表現
検証方法
内容 「ABCあいうえお」 のテキストを Windows XP のメモ帳で
[文字コード] を変えながら保存し、ファイルダンプしてみる。
(ダンプリスト中の太字は BOM)
[ANSI] で保存
41 42 43 82 A0 82 A2 82 A4 82 A6 82 A8
A=41、B=42、C=43
あ=82A0、い=82A2、う=82A4、え=82A6、お=82A8
※CP932 … いわゆるシフトJIS。
[Unicode] で保存
FF FE 41 00 42 00 43 00 42 30 44 30 46 30 48 30
4A 30
A=4100、B=4200、C=4300
あ=4230、い=4430、う=4630、え=4830、お=4A30
※UTF-16LE … Windows XP の内部表現。インテル系 CPU でもっとも扱いやすい。
[Unicode big endian] で保存
FE FF 00 41 00 42 00 43 30 42 30 44 30 46 30 48
30 4A
A=0041、B=0042、C=0043
あ=3042、い=3044、う=3046、え=3048、お=304A
※UTF-16BE … ユニコードがそのまま並んだ分かりやすい表現。
[UTF-8] で保存
FE BB BF 41 42 43 E3 81 82 E3 81 84 E3 81 86 E3
81 88 E3 81 8A
A=41、B=42、C=43
あ=E38182、い=E38184、う=E38186、え=E38188、お=E3818A
※従来の1バイト文字はそのまま保存される、最近の主流。
テキストエディタの UTF-8 対応状況
| アプリケーション | UTF-8 | UTF-8N
|
|---|
| メモ帳 | 読○ | 書○ | 読× | 書×
|
| eclipse | 読○ | 書○ | 読× | 書×
|
| 秀丸エディタ | 読○ | 書△ | 読× | 書○
|
・Windowsのメモ帳
UTF-8 で保存した文書は、難なく読み込める。
UTF-8N は読み書きできない。
・eclipse
UTF-8 で保存した文書は、難なく読み込める。
UTF-8N は読み書きできない。
・秀丸エディタ
作者が UTF-8 と UTF-8N の違いが分かっていない模様。
UTF-8 で保存しようとすると、実際には UTF-8N で保存される。
ところが秀丸で UTF-8N が読み込めない(文字化けする)
自分で保存した文書が自分で読めないのだから、
秀丸エディタでは UTF-8 は使い物にならない。
後のバージョンになって UTF-8 に BOM を付けるか付けないかのスイッチが追加された。