Юникод

Универсальная кодировка для всех языков и эмодзи (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 указывает порядок байтов.

🔗 Связанные термины

Предварительные знания:

📚 Источники