|
こんにちは
> 4バイトのUnicodeの場合、もはやUTF-8では対応する文字コードとは言えず、バ
> イトの羅列なので、UCS-4の0x00020000の文字をUTF-8にすると
> ED A1 80 ED B0 80
> みたいなことになります。
本当はもっと前に気がつくべきでしたが、上記書き込みを見て大きな問題が
あることに気がつきました。
仕様上サロゲートベア領域をUTF-8に変換した場合4バイトになるはずです。(BOM無
しの場合)
従って、例で言うとサロゲートペア領域の「U+20000」をUTF-8にすると
11110000 10100000 10000000 10000000
F0 A0 80 80
になるはずです。しかしU+20000文字を入力してUTF-8で保存すると
見事にED A1 80 ED B0 80と言った間違った形式で保存されます。これは間違いです。
そちらの環境で再現しますでしょうか?
環境: windowsXP SP2 + 秀丸6.50β5
|
|