ハングル音節 — UnicodeにおけるB韓国語文字

UnicodeにおけるB韓国語のハングル音節(U+AC00–U+D7AF)を理解します。アルゴリズムによる分解、3バイトUTF-8エンコーディング、字母の合成システムを解説します。

CJK Characters

詳細な説明

UnicodeにおけるBハングル音節

韓国語のハングルは、個々の文字コンポーネント(字母)から音節ブロックがアルゴリズム的に合成される点で、書記体系の中でユニークです。Unicodeは可能な全組み合わせをカバーする11,172個の合成済み音節(U+AC00〜U+D7AF)に大きなブロックを割り当てています。

ハングルの合成式

各音節ブロックは以下で構成されます:

  • 初声(L):19通りの値(U+1100–U+1112)
  • 中声(V):21通りの値(U+1161–U+1175)
  • 終声(T):28通りの値(なしを含む)

コードポイントは以下で計算されます:

CP = 0xAC00 + (L × 21 + V) × 28 + T

例えば、한 (han) = 0xAC00 + (18 × 21 + 0) × 28 + 4 = U+D55C

UTF-8エンコーディング

すべての合成済みハングル音節はUTF-8で3バイトを使用します:

  • 가 (ga) = U+AC00 → UTF-8: EA B0 80
  • 한 (han) = U+D55C → UTF-8: ED 95 9C
  • 글 (geul) = U+AE00 → UTF-8: EA B8 80

正規化の考慮事項

Unicode正規化形式NFCとNFDはハングルに対して異なる表現を生成します:

  • NFC:合成済み音節を使用(1コードポイント、3 UTF-8バイト)
  • NFD:2〜3個の字母に分解(2〜3コードポイント、6〜9 UTF-8バイト)

Unicode Inspectorはテキスト内の実際のコードポイントを表示し、どの正規化形式が使用されているかを判断するのに役立ちます。

ユースケース

韓国語テキスト処理、ハングル検索やソートアルゴリズムの実装、正規化の問題(NFC vs NFD)のデバッグ、韓国語コンテンツデータベースのストレージ要件の計算に使用します。

試してみる — Unicode Inspector

フルツールを開く