トップ 一覧 検索 ヘルプ RSS ログイン

UTF-16の変更点

-UTF-16は、Unicodeの符号化方式のひとつです。ひとつの符号位置を16ビット固定長で表す、Unicodeの元々の形式です。
+UTF-16は、Unicodeの符号化方式のひとつです。16ビットを1単位として、ひとつのUnicode符号位置を16ビットまたは32ビットで表します。16ビット固定長のUnicodeの元々の形式に基づいて拡張を施したものです。
-そこで、文字の割り当てられていない符号位置を使用し、2つの符号位置の組み合わせでBMP外の1つの符号位置を表現する方法が採用されました。これがUTF-16です。例えば、BMP外の漢字U+29E3Dを表すのに、上位サロゲートD867と、下位サロゲートDE3Dの組み合わせを用います。 
+他方、Unicodeと同等の文字コード規格[[ISO/IEC 10646]]ではUCS-4という4バイトコードが定義されており、これを使うと65,536符号位置からなる面をいくつも扱うことが可能でした。Unicodeの16ビットの符号空間は面00, Basic Multilingual Plane (BMP) という位置付けです。
+
+従って、UCS-4を使えばBMP外への拡張の問題は解決するのですが、一方で既存のUnicodeの16ビットコード(2バイトコードすなわちUCS-2)を扱うプログラムとの互換性も求められました。
+
+そこで、BMPの中の文字の割り当てられていない符号位置を使用し、2つの符号位置の組み合わせでBMP外の1つの符号位置を表現する方法が採用されました。これがUTF-16です。例えば、BMP外の漢字U+29E3Dを表すのに、上位サロゲートD867と、下位サロゲートDE3Dの組み合わせを用います。