UTF-16
Unicodeの符号位置の最大値がU+10FFFFなのは、それがUTF-16で表せる最大値だからである。
UTF-16符号化フォームで表現された文字は、16ビット符号なし整数の符号単位列であり、プログラム内部での処理には都合がよいが、それでもって情報交換のためにファイルの読み書きや通信を行う場合は、適当な符号化スキームにより、バイト直列化する必要がある。
符号化スキームには、UTF-16、UTF-16BE、UTF-16LEの3種類ある。UTF-16BEは、16ビット整数をビッグエンディアンで直列化する。UTF-16LEは、リトルエンディアンで直列化する。UTF-16BE、UTF-16LEの場合は、バイト順マーク (BOM) の付与は許されない。UTF-16の場合は、BOM でエンディアンを明示するか、上層のプロトコルで指定されておらずBOMも付与しない場合はビッグエンディアンにするよう決められている。