本記事(記事カラム)には広告が含まれています。

UTF‑8 が全 Unicode を表現できる理由

人気ブログランキングテキスト
記事内に広告が含まれています。
人気ブログランキングテキスト

UTF‑8 は、世界中の文字を 1〜4 バイトで表す可変長エンコーディングです。 ただし、UTF‑8 の本質は「◯バイト文字」というより、“実際に使えるビット数で Unicode を区切る方式” にあります。 この仕組みがあるからこそ、Unicode の全領域(U+10FFFF)を表現できます。

DMM FX広告(差し込みタイプ)
広告(PR)|自分の投資スタイルを見つける。※タップで開閉
広告(PR)

DMM FXは、「最初の一歩を踏み出す場」として選ばれることがある

口座を開いてみた。取引してみた。思ったよりも難しかった。──そんな経験が、投資との距離感を知るきっかけになることもあります。


サービスを通じて、自分の投資スタイルを見つける。それは、確信ではなくても構いません。「試してみた」という実感が、次の選択の材料になることもあるからです。


DMM FXに関する詳細は、以下の広告(PR)リンクをご覧いただけます。


👇こちらは広告(PR)リンクバナーです

DMMFX

人気ブログランキングテキスト

UTF‑8 の基本構造は「先頭ビットで役割を示す」

UTF‑8 の各バイトは、先頭ビットで役割が決まっています。

  • 0xxxxxxx — 1 バイト文字
  • 110xxxxx — 2 バイト文字の最初のバイト
  • 1110xxxx — 3 バイト文字の最初のバイト
  • 11110xxx — 4 バイト文字の最初のバイト
  • 10xxxxxx — 続きのバイト

この「役割ビット」があるため、バイト全部を文字コードとして使えないという特徴が生まれます。

実際に使えるビット数で見る UTF‑8 の階段構造

1 バイト文字(ASCII)

0xxxxxxx
  • 使えるビット:7bit
  • 表現範囲:U+0000〜U+007F

2 バイト文字(実態は 11bit 文字)

110xxxxx 10xxxxxx
  • 使えるビット:5bit + 6bit = 11bit
  • 表現範囲:U+0080〜U+07FF

ここが重要で、 「2 バイト文字」と言っても 16bit すべてを使えるわけではない という点です。

先頭の 11010 は「役割の印」として予約されているため、 実際に文字コードとして使えるのは 11bit だけです。

3 バイト文字(実態は 16bit 文字)

1110xxxx 10xxxxxx 10xxxxxx
  • 使えるビット:4 + 6 + 6 = 16bit
  • 表現範囲:U+0800〜U+FFFF

日本語の大半はここに入ります。

4 バイト文字(実態は 21bit 文字)

11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
  • 使えるビット:3 + 6 + 6 + 6 = 21bit
  • 表現範囲:U+10000〜U+10FFFF

Unicode の最大値(U+10FFFF)は 21bit なので、 UTF‑8 の 4 バイト文字で 全 Unicode を完全にカバーできます。

まとめ

結論

UTF‑8 は「◯バイト文字」という表現が一般的ですが、実態は次のように “使えるビット数” で Unicode の範囲が決まっています。

  • 1 バイト文字 → 7bit
  • 2 バイト文字 → 11bit
  • 3 バイト文字 → 16bit
  • 4 バイト文字 → 21bit(Unicode の最大値)

この階段構造によって、UTF‑8 は ASCII と互換性を保ちながら、Unicode の全領域を表現できる という非常に優れた設計になっています。

人気ブログランキング ブログパーツ

もしも


人気ブログランキングバナー

人気ブログランキング

人気ブログランキングテキスト