Что такое кодировка

Что такое кодировкаКак в случае с веб-технологиями, так и в случае с нативными приложениями разработчики и пользователи сталкиваются с такой вещью как кодировка. Объясним этот термин максимально просто.

Человечество придумало массу символов. Какие-то из них играют роль букв, какие-то — цифр, прочие же несут иные значения. Мы знаем, что на Земле существует множество алфавитов, есть разные виды цифр. Символы — это то, что понятно человеку, доступно для его восприятия.

Компьютер не работает на уровне символов. Он работает с битами данных, которые, в свою очередь, уже плохо воспринимаются человеком. Таким образом, нужен некий свод правил (на практике — таблица), которая переводила бы символы в биты данных и наоборот, т.е. позволяла бы человеку «общаться» с компьютером.

Что такое кодировка
Таблица ASCII

Такие таблицы вовсе не универсальные, так как могут не содержать символы каких-то алфавитов или те символы, которых не существовало на момент создания кодировки.

Одной из первых стала кодировка ASCII (англ. American standard code for information interchange), представленная в 1963 году Американским национальным институтом стандартов. Дополнением к ней является КОИ-8 (код обмена информацией, 8 бит), которая ввела поддержку кириллических алфавитов и, фактически, была стандартом на начальном периоде развития рунета.

Пользователям операционных систем Windows хорошо знакомы кодировки Windows-125x (от 1250 до 1258), в особенности Windows-1251, т.к. именно она являлась стандартной для русских версий Windows вплоть до Windows 10.

Использование различных кодировок приводило к тому, что компьютер мог выводить не те символы (так называемые «кракозябры«), превращая текст в бессмыслицу. Поскольку информационные технологии становились делом глобальным, требовался переход к универсальной кодировке, содержащей все используемые человечеством символы. Эту масштабную задачу взяла на себя некоммерческая организация «Консорциум Юникода» (англ. Unicode Consortium, Unicode Inc.).

Что такое кодировка
Как определить кодировку по кракозябрам.

Таблицы юникода достаточно сложные по причине большого числа закодированных символов. Кроме того, есть различные кодировки на основе юникода в зависимости от битности передаваемой информации (UTF-8, UTF-16, UTF-32 и пр.).

Постепенно современные языки программирования и программное обеспечение переходят к поддержке юникода. Скорее всего, рано или поздно это приведет к повсеместному использованию кодировок семейства UTF.

Добавить комментарий

Ваш адрес email не будет опубликован.