Unicode
すべての言語と絵文字のためのユニバーサルエンコーディング(UTF-8、UTF-16)。
Unicode is a computing industry standard for consistent encoding of text from most of the world's writing systems. It defines code points (unique numbers) for over 149,000 characters.
Unicode Transformation Formats (UTF):
- UTF-8: Variable 1-4 bytes, ASCII-compatible, ~99% of web
- UTF-16: Variable 2-4 bytes, common in Windows/Java
- UTF-32: Fixed 4 bytes, simple but space-inefficient
Unicode supports all major world scripts, mathematical symbols, emojis (3,000+), and historical scripts. First 128 code points (U+0000 to U+007F) match ASCII.
graph LR
Center["Unicode"]:::main
Pre_ascii["ascii"]:::pre --> Center
click Pre_ascii "/terms/ascii"
Rel_ascii["ascii"]:::related -.-> Center
click Rel_ascii "/terms/ascii"
Rel_binary["binary"]:::related -.-> Center
click Rel_binary "/terms/binary"
Rel_string["string"]:::related -.-> Center
click Rel_string "/terms/string"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧒 5歳でもわかるように説明
世界中のすべての言語の文字、記号、絵文字に固有の番号がある巨大な電話帳を想像してください。Unicodeはその電話帳です—すべてのコンピュータがすべての言語を理解できるように、すべてに番号を付けています!
🤓 Expert Deep Dive
正規化形式(NFC、NFD、NFKC、NFKD)は等価表現を処理します。書記素クラスタは文字列操作で認識が必要です。ZWJは合成絵文字を作成します。BOMはエンディアンを示します。