Юнікод
Універсальне кодування для всіх мов та емодзі (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["Юнікод"]:::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;
🧒 Простими словами
Уяви величезну телефонну книгу з унікальним номером для кожної літери, символу та емодзі в кожній мові світу. Unicode — це та телефонна книга — вона дає всьому номер, щоб усі комп'ютери розуміли всі мови!
🤓 Expert Deep Dive
Форми нормалізації (NFC, NFD, NFKC, NFKD) обробляють еквівалентні представлення. Кластери графем вимагають обізнаності в операціях з рядками. ZWJ створює складені емодзі. BOM вказує порядок байтів.