読み方 : ユーティーエフじゅうろく / ユーティーエフシックスティーン
UTF-16 【UCS/Unicode Transformation Format 16】 UTF-16BE / UTF-16LE
概要
UTF-16(UCS/Unicode Transformation Format 16)とは、UnicodeおよびISO/IEC 10646で規定された文字エンコーディングの一つで、2バイト(16ビット)の固定長でコードを表現する符号化方式。解説 文字コード規格には、収録する文字一つずつに与えられた文字番号の体系(符号化文字集合)と、文字番号をどのようなビット列で表現するかを定めた文字エンコーディング(文字符号化方式)の二つがある。
UTF-16はUnicodeにおける文字エンコーディングの一つで、文字番号(コードポイント)をビット列(文字符号)に変換する規則を定義している。ほとんどの文字について文字番号をそのまま文字符号とするシンプルな方式で、様々なソフトウェアで文字列の内部表現形式として用いられている。
変換規則
U+0000からU+FFFFの基本多言語面(BMP)収録文字については、コードポイントをそのまま文字符号とする。U+10000以降の拡張領域に収録された文字は「サロゲートペア」の仕組みを用い、U+D800~U+DBFFから一つ、U+DC00~U+DFFFから一つを選んで組み合わせ、4バイトで表現する。
一文字を連続した複数バイトの整数値で表現するため、上位バイトが先頭側か末尾側かによって異なるバイト列となる。上位バイトが先頭側になるように並べる方式を「UTF-16BE」(Big Endian)、上位バイトが末尾側になるように並べる方式を「UTF-16LE」(Little Endian)という。
文字コードの指定などでバイト順を伝達できない場合、文書やデータの先頭にバイト順を示す「BOM」(Byte Order Mark)と呼ばれる符号を記載して指定するよう規定されており、UTF-16BEの場合は16進数4桁で「FE FF」、UTF-16LEの場合は「FF FE」と記載する。
(2025.8.28更新)