小池啓仁 ヒロヒト応援ブログ By はてな

小池啓仁(コイケヒロヒト)の動画など。

小池啓仁 ヒロヒト応援ブログ By はてな

UTF-16は、実は5種類ある!

ユニコードは、コード自体は一つ(ユニーク)なのだけど、そのエンコードの方法には沢山があります。
よく使われるエンコードは、UTF-8UTF-16です。
UTF-8は、Web系やPerlでよく使われていて、1バイト文字はアスキーコードと互換性があり、漢字は3バイトでエンコードします。


一方、UTF-16は、なんとUTF-16だけでも5種類のエンコード方法があるのです。知っていましたか?
基本的に文字を2バイトのコードで表現するエンコードです(今回サロゲートペアについての説明はパス)。


バイトの並び方の違いでビックエンディアンとリトルエンディアンがあり、なおかつ、各々にBOM(Byte Order Mark)が付くエンコードがあります。
まず、BOMの付かない、以下の2通りのエンコードがあります。

そして、単にUTF-16と言った場合、以下の3通りが許されるとのことです。

と言うことで、UTF-16は、以上の5種類があるのです。

◆サンプル:『A』をUTF-16で表現したときの5つのエンコード

エンコードエンコード
UTF-16BE00 41
UTF-16LE41 00
UTF-16 FE FF 00 41
UTF-16 FF FE 41 00
UTF-16 00 41