U+FFFFを超える文字
「😀」は U+1F600です。UTF-16では1つの16ビット値に収まらないため、D83D DE00という2つの値(サロゲートペア)で表します。
Unicode
U+1F600UTF-16
D83D DE00見た目の1文字と内部の数
肌の色、性別、家族などを表す絵文字は、複数のコードポイントを結合して1つの絵として表示する場合があります。そのため、プログラム上の文字数と画面上の文字数が一致しないことがあります。
図鑑で確認する
文字コード図鑑ではコードポイント単位でカードを並べます。結合文字や異体字セレクターも別カードになるため、絵文字の内部構造を観察できます。