UTF-16は、実は5種類ある!
ユニコードは、コード自体は一つ(ユニーク)なのだけど、そのエンコードの方法には沢山があります。
よく使われるエンコードは、UTF-8とUTF-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種類があるのです。