Unicode
Encodage universel pour toutes les langues et emojis (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;
🧒 Explique-moi comme si j'avais 5 ans
Imagine un énorme annuaire téléphonique avec un numéro unique pour chaque lettre, symbole et emoji dans toutes les langues du monde. Unicode est cet annuaire—il donne un numéro à tout pour que tous les ordinateurs comprennent toutes les langues !
🤓 Expert Deep Dive
Les formes de normalisation (NFC, NFD, NFKC, NFKD) gèrent les représentations équivalentes. Les clusters de graphèmes nécessitent une attention dans les opérations sur les chaînes. ZWJ crée des emojis composites. BOM indique l'ordre des octets.