Юникод
Юникод (Unicode) — универсальный стандарт, который задаёт единый способ представления символов разных письменностей, знаков и служебных символов в компьютере. Благодаря ему один и тот же текст можно обрабатывать на разных устройствах и в разных программах.
Как устроен Юникод
Для каждого символа в Юникоде назначается число — кодовая позиция. Например, русская буква «А» имеет кодовую позицию \(U+0410\), а латинская «A» — \(U+0041\). Запись \(U+\) показывает, что далее указано шестнадцатеричное число. Кодовая позиция однозначно указывает, какой символ имеется в виду, но сама по себе не определяет, сколько байтов он займёт в памяти или файле.
Чтобы сохранить последовательность кодовых позиций в виде набора байтов, применяют конкретную кодировку символов. Одна из наиболее распространённых — UTF-8. Она использует от 1 до 4 байтов для одного символа и сохраняет совместимость с ASCII для основных латинских символов.
Символ «Я» имеет в Юникоде кодовую позицию \(U+042F\). При записи в кодировке UTF-8 он представляется двумя байтами. Следовательно, Юникод сообщает, какой это символ, а UTF-8 — как записать его байтами.
Юникод и UTF-8 — не одно и то же. Юникод является стандартом символов и их кодовых позиций, а UTF-8 — одним из способов кодирования этих позиций в байты. Также кодовая позиция не равна номеру символа в тексте: одна позиция может занимать несколько байтов.
Что определяет кодовая позиция \(U+0410\)?
Главное
- Юникод сопоставляет символам уникальные кодовые позиции.
- Кодировка, например UTF-8, переводит кодовые позиции в байты.
- Юникод позволяет работать с текстами разных письменностей единообразно.