2

私は最近、Unicode についてすべて読んでいます。なぜなら、それがどのように機能するかは非常に興味深いからです。

だから私はそれUTF-32が固定の4バイトであることを読みました。奇妙だと思いました。両方の MacBook Air で、1 文字 (t) の単純なファイルを保存すると、8 バイトで保存されました。これは で発生しUTF-16、4 バイトを占めました (奇妙ではありませんが)。理由を知っている人はいますか?

注:確認しましたが、空白はありません

4

1 に答える 1

4

文字の前のファイルの先頭にUTF BOMが保存されている可能性が最も高いtです。BOM は、ファイルのエンコードに使用されている UTF エンコーディングを指定するために使用され、UTF-16 および UTF-32 の場合は、どのエンディアンが使用されているかを指定します。

UTF-16LE: BOM (2 バイト) + t(2 バイト) = 4 バイト
FF FE 74 00

UTF-16BE: BOM (2 バイト) + t(2 バイト) = 4 バイト
FE FF 00 74

UTF-32LE: BOM (4 バイト) + t(4 バイト) = 8 バイト
FF FE 00 00 74 00 00 00

UTF-32BE: BOM (4 バイト) + t(4 バイト) = 8 バイト
00 00 FE FF 00 00 00 74

于 2015-09-04T02:43:37.843 に答える