削除された内容 追加された内容
リンク切れ、Citeテンプレート
編集の要約なし
213行目:
Unicodeの符号位置を2進表記したものを、上のビットパターンのx, yに右詰めに格納する。最短のバイト数で符号化するため、yの部分には最低1回は1が出現する。符号化されたバイト列は、[[エンディアン|バイト順]]に関わらず左から順に出力する。これにより4バイトで21bit、6バイトで31bitまで表現することができる。
 
1バイト目の先頭の連続するビット "1"(その後にビット "0" が1つ付く)の個数で、その文字のバイト数がわかるようになっている。また、2バイト目以降はビットパターン "10" で始まり、1バイト目と2バイト目以降では値の範囲が重ならないので、文字境界を確実に判定できる。すなわち、任意のバイトの先頭ビットが "0" なら1バイト文字、"10" なら2バイト以上の文字の2番目以降のバイト、"110" なら2バイト文字の先頭バイト、"1110" なら3バイト文字の先頭バイト、"11110" なら4バイト文字の先頭バイトであると判定できる。
 
7バイト以上の文字は規定されないため、<code>0xFE、0xFF</code>は使用されない。このため、[[バイトオーダーマーク|バイト順マーク]] (BOM) に<code>0xFEと0xFF</code>を使用するUTF-16やUTF-32が、UTF-8と混同されることはない。