Nov 012008
 

Windowsのメモ帳で「a + 改行 + b」というデータを保存し、Cygwinでod -xしてみた結果。

  • "ANSI"で保存
    0000000 0d61 620a
    0000004
  • "Unicode"で保存 (UTF-16/UCS-2, little endien)
    0000000 feff 0061 000d 000a 0062
    0000012
  • "Unicode big endian"で保存 (UTF-16/UCS-2, big endien)
    0000000 fffe 6100 0d00 0a00 6200
    0000012
  • "UTF-8"で保存
    0000000 bbef 61bf 0a0d 0062
    0000007

メモ帳のUTF-8ってBOMつきだったのですね。また、Windowsの内部表現にはUTF-16が使われているそうです(保存形式"Unicode"のBOMなし)。

UTF-16 - Wikipediaより引用:

UTF-16符号化形式は、WindowsXPなど多くのOSで、内部表現に使われている。

Microsoft Windowsでは、リトルエンディアンのUTF-16符号化方式が使われている。内部表現では16ビット符号なし整数を符号単位するUTF-16符号化形式(CEFなのでBOMはなし)として扱い、ファイルなどではBOMありのUTF-16符号化方式(リトルエンディアン)が主である。

参考:

Sorry, the comment form is closed at this time.