UTF-16
ゆーてぃーえふ・しっくすてぃーんプロトコル1996
Unicodeを16ビット単位で表す符号化方式。基本的な文字は2バイト、それを超える文字はサロゲートペアという2つの組で表す。WindowsやJava、JavaScriptの内部処理で使われている。
年表
19967月、Unicode 2.0でサロゲートペアの仕組みが導入され、UTF-16が確立
概要
Unicodeの文字を16ビット単位でエンコードする方式。基本的な文字は16ビット1個(2バイト)で表し、それを超える文字は「サロゲートペア」という16ビット2個の組で表す。WindowsやJava、JavaScriptの内部処理で使われている。
時代背景
Unicodeは1991年から1995年まで、単純な16ビット固定長のエンコーディングだった。しかし互換性のために14,500以上の合成文字が追加されたことで16ビットでは足りなくなり、サロゲートペアの仕組みが必要になった。1996年7月のUnicode 2.0で、Unicodeの符号空間はU+0000〜U+10FFFFという21ビット相当まで拡張され、UTF-16が確立した(出典FAQでは両者は別々の設問として説明されている)。
仕組み
単一の16ビット単位で6万文字以上の最も一般的な文字を符号化できる。上位サロゲートはD800〜DBFF、下位サロゲートはDC00〜DFFFの範囲を使い、この組み合わせで残りの約100万文字を符号化する。
現在
Web上ではUTF-8が主流になったが、Windowsの内部処理やJava・JavaScriptの文字列表現には今もUTF-16が使われている。
| 種類 | 文字符号化方式 |
|---|---|
| バイト長 | 2または4バイト |
関連項目
- Unicode世界中の文字を一つの体系で扱うための文字コード規格。日本語・中国語から絵文字まで、あらゆる文字に番号を与えることで、言語をまたいだ情報のやり取りを可能にした。文字化けの時代に終止符を打とうとした試み。
- UTF-8Unicodeを可変長で表す符号化方式。ASCIIと互換で効率がよく、現在のWebで事実上の標準となっている。
- ASCII文字を数値に対応づけるための文字コードの基本規格。アルファベットや記号を7ビットの番号で表す素朴な決まりで、これがあったから機械同士が文字をやり取りできるようになった。今の文字コードもこの上に立っている。
- Shift_JIS日本語をパソコンで扱うために広く使われた文字コード。Windowsや多くの国産ソフトで標準的に使われ、日本のデジタル文書を長く支えた。今もレガシーなファイルや古いソフトの中で出会う、文字化けの背景にもなる規格。
- サロゲートペア16ビットでは収まりきらない文字を、2つの16ビットの組み合わせで表すUnicodeの仕組み。これにより表現できる文字数が約111万まで広がり、膨大な漢字や絵文字を扱えるようになった。