2005年9月23日

UTF-8 のオクテット数

UTF-8 で表現した 1文字は最長で 6オクテット (バイト) と思っていたのですが、新しい方の RFC では 4 オクテットまでとなっているのを知りました。

 
  • RFC 2279 日本語訳 (原文)

    UTF-8は、文字は1から6オクテット長に符号化される。

  • RFC 3629 日本語訳 (原文)

    UTF-8において、U+0000..U+10FFFF範囲(UTF-16アクセス可能範囲)からの文字は、1から4までオクテットの連鎖を使って符号化される。

RFC 3629 の「RFC 2279からの変更点」を見ると「文字の範囲を0000-10FFFFに限定した (UTF-16アクセス可能範囲)」と説明がありました。新しい方といっても 2003年11月に公開されているので、もう2年近く経っているのですね。