Механизм кодирования Unicode для международных текстов основан на идее присвоения уникального номера (code point) каждому символу, независимо от платформы, программы или языка. sky.pro Это позволяет однозначно идентифицировать символ и устраняет проблему несоответствия символов между разными языками и системами. sky.pro
Стандарт состоит из двух основных частей: github.com
- Универсальный набор символов (UCS). github.com Перечисляет допустимые по стандарту Unicode символы и присваивает каждому символу код в виде неотрицательного целого числа, записываемого обычно в шестнадцатеричной форме с префиксом U+. github.com
- Семейство кодировок (UTF). github.com Определяет способы преобразования кодов символов для передачи в потоке или в файле. github.com
Некоторые способы кодирования символов Unicode и количество байтов, которые они используют для представления каждого символа: sky.pro
- UTF-8. sky.pro Использует от 1 до 4 байтов для кодирования символов. sky.pro Эффективен для текстов, преимущественно на латинице, но также поддерживает все символы Unicode. sky.pro
- UTF-16. sky.pro Использует 2 или 4 байта. sky.pro Подходит для текстов, где часто встречаются символы за пределами базовой многоязычной плоскости (BMP). sky.pro
- UTF-32. sky.pro Всегда использует 4 байта для каждого символа. sky.pro Обеспечивает простоту, но за счёт увеличения объёма используемой памяти. sky.pro
Некоторые принципы Unicode:
- Гарантии стабильности. dzen.ru Каждый символ всегда остаётся на своём месте. dzen.ru Даже если в таблицу забыли добавить важный для языка символ, он появится не рядом со своим языком, а на новой пустой позиции. dzen.ru
- Динамическая компоновка. dzen.ru Многие символы в Unicode получаются соединением двух других, например A + ¨ = Ä. dzen.ru
- Без оформления. dzen.ru Задача Unicode — передать смысл текста, а не его внешний вид. dzen.ru