サロゲートペア 【surrogate pair】

概要

サロゲートペア(surrogate pair)とは、Unicodeの未使用領域のコード2つを組み合わせて、拡張領域の文字を表す手法。U+010000~U+10FFFF の104万8576文字を表すことができる。

Unicodeの初期の構想では16ビット(65,536文字)のコードにすべての文字を収録する予定だったが、世界中の文字を収録するには少なすぎた。このため、16ビット単位のコード体系を崩すことなく追加の文字を表す方法として、2つのコードを組み合わせて1つの文字を表す手法が考案された。

初期Unicodeの16ビットの範囲(U+0000~U+FFFF)は「基本多言語面」(BMP)と呼ばれるが、U+D800~U+DBFF にある1,024文字分(10ビット)のから1つ、U+DC00~U+DFFF の1,024文字分から1つを選び、前者から D800 引いたものを上位10ビット、後者から DC00 を引いたもの下位10ビットに見立てることで20ビットを表すことができる。

得られた20ビット(U+00000~U+FFFFF)は先頭部分(U+0000~U+FFFF)がBMPと重なってしまうため、10000 を加算することで U+10000 から U+10FFFF の拡張領域の各コードポイントに対応付けることができる。先頭同士を組み合わせた「U+D800 U+DC00」という並びは「U+10000」を表し、末尾同士を組み合わせた「U+DBFF U+DFFFF」という並びは「U+10FFFF」をそれぞれ表す。

サロゲートペアを導入することでBMPからは2,048文字分(1,024+1,024)が削減されたが、代わりに拡張領域の1,048,576文字(1,024×1,024)をBMP内の16ビットコード2つの組み合わせで表現することができるようになった。

(2024.6.6更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる