ハングル音節 — 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)のデバッグ、韓国語コンテンツデータベースのストレージ要件の計算に使用します。