Unicode
結果 D 842 16 , D F B 7 16 {\displaystyle {\rm {\color {green}D842}}_{16},\ {\rm {\color {blue}DFB7}}_{16}} (UTF-16 符号単位列) D 8 16 , 42 16 , D F 16 , B 7 16 {\displaystyle {\rm {\color {green}D8}}_{16},\ {\rm {\color {green}42}}_{16},\ {\rm {\color {blue}DF}}_{16},\ {\rm {\color {blue}B7}}_{16}} (UTF-16BEでの符号化バイト列) 42 16 , D 8 16 , B 7 16 , D F 16 {\displaystyle {\rm {\color {green}42}}_{16},\ {\rm {\color {green}D8}}_{16},\ {\rm {\color {blue}B7}}_{16},\ {\rm {\color {blue}DF}}_{16}} (UTF-16LEでの符号化バイト列)
次の表は、この文字変換と他をまとめたものである。 色は、コードポイントからのビットがUTF-16バイトにどのように分配されるかを示した。 なお、UTF-16エンコーディングプロセスによって追加された追加ビットは黒で示されている。
UTF-32符号化方式でもUTF-16符号化方式と同じく、ビッグエンディアンとリトルエンディアンが存在し、それぞれUTF-32BE、UTF-32LEと呼ばれる。プロトコルもしくはアプリケーションの設定などの手段で符号化方式にUTF-32BEやUTF-32LEを指定している場合にはBOMを付与することは許容されない。
単純な符号化方式であるが、テキストファイルなどではファイルのサイズが大きくなる(すべてBMPの文字からなる文章の場合はUTF-16符号化方式の2倍、すべてASCII文字の場合はASCII/UTF-8の4倍のサイズとなる)ため、ストレージ用として使われることは稀である。そのためか、Microsoft Officeでの「エンコードされたテキストファイル」の読み書きでは、Office 2016 でもいまだに符号化方式には対応していない。
ハイ(上位)サロゲートを形成するために上位ビットに D 800 16 {\displaystyle {\rm {D800}}_{16}} を加える。 00 0100 0010 2 ( 0042 16 ) + 1101 1000 0000 0000 2 ( D 800 16 ) = 1101 10 00 0100 0010 2 ( D 842 16 ) {\displaystyle {\color {green}00\ 0100\ 0010}_{2}\ ({\color {green}0042}_{16})+1101\ 1000\ 0000\ 0000_{2}\ ({\rm {D800}}_{16})=1101\ 10{\color {green}00\ 0100\ 0010}_{2}({\rm {D842}}_{16})}
ロー(下位)サロゲートを形成するために下位ビットに D C 00 16 {\displaystyle {\rm {DC00}}_{16}} を加える。 11 1011 0111 2 ( 03 B 7 16 ) + 1101 1100 0000 0000 2 ( D C 00 16 ) = 1101 11 11 1011 0111 2 ( D F B 7 16 ) {\displaystyle {\color {blue}11\ 1011\ 0111}_{2}\ ({\rm {\color {blue}03B7}}_{16})+1101\ 1100\ 0000\ 0000_{2}\ ({\rm {DC00}}_{16})=1101\ 11{\color {blue}11\ 1011\ 0111}_{2}({\rm {DFB7}}_{16})}
Unicodeでは文字符号化方式としてUTF-8、UTF-16、UTF-16BE、UTF-16LE、UTF-32、UTF-32BE、UTF-32LEの7種類が定められている。それぞれの符号化形式に対応する符号化方式は表の通り。
文字符号化形式との違いは、文字符号化形式がプログラム内部で文字を扱う場合に符号なし整数として文字を表現する方法なのに対し、文字符号化方式は入出力時にバイト列として表現する方法である。UTF-8は符号単位が8ビットであるため区別する意味はない。