Набор символов

Материал из Википедии — свободной энциклопедии
(перенаправлено с «Кодировка»)
Перейти к навигации Перейти к поиску

Набор символов (англ. character set) — таблица, задающая кодировку конечного множества символов алфавита (обычно элементов текста: букв, цифр, знаков препинания). Такая таблица сопоставляет каждому символу последовательность длиной в один или несколько символов другого алфавита (точек и тире в коде Mорзе, сигнальных флагов на флоте, нулей и единиц (битов) в компьютере).

Набор символов в компьютере[править | править код]

Символы в компьютере обычно кодируются одним или нескольким байтами (группами из восьми битов).

Хотя термин «набор символов» (англ. character set, charset), узаконенный интернет-стандартом RFC 2278, сейчас является, пожалуй, наиболее авторитетным, предшествовавший ему термин «кодировка» (англ. encoding) по-прежнему используется в качестве синонима, в частности, в языках программирования Java[1], Perl[2] и XSLT[3], а также в HTML[4].

Нередко также вместо термина «набор символов» неправильно употребляют термин «кодовая страница», означающий на самом деле частный случай набора символов с однобайтным кодированием.

В настоящее время в основном используются кодировки трёх типов: совместимые с ASCII, совместимые с EBCDIC и основанные на Юникоде 16-битные, с подавляющим преобладанием первых. Представление UTF-8 Юникода совместимо с ASCII. Кодировки на базе EBCDIC (например, ДКОИ-8) используются только на некоторых мэйнфреймах. Первоначально в каждой операционной системе использовался один набор символов. Теперь используемые наборы символов стандартизованы[5], зависят от типа операционной системы лишь по традиции и устанавливаются согласно локали.

В Википедии и других проектах Фонда Викимедиа используется Юникод UTF-8.

Автоматическое распознавание кодировок[править | править код]

Во многих современных текстовых редакторах и браузерах присутствует функция автоматического распознавания кодировок, но она не всегда выдает верный результат. Иногда бывает что текст набранный например в командной строке или некоторых программах не верно декодируется и так вместо нормальных слов получается набор непонятных символов или как их называют кракозябров[en]. Справится с прочтением такого текста может помочь большое количество декодеров текста которые работают онлайн.

Для однобайтных кодировок нужно учитывать тот факт, что частота использования разных букв сильно различается (например, в русском часто используется «о», но редко «ъ»). Поэтому, зная язык текста, можно легко выбрать кодировку, в которой частота байтов лучше соответствует частоте букв данного языка.[6]

Альтернативная точка зрения считает подобные эвристические алгоритмы определения кодировки текста вредными, поскольку современные информационные технологии располагают средствами недвусмысленно сопоставить тексту положенную ему кодовую страницу (см., например, MIME). Широкое же распространение эвристических анализаторов поощряет использование некачественных программ создания текстовых данных, нарушающих стандарты.

Распространённые кодировки[править | править код]

См. также[править | править код]

Ссылки[править | править код]

Примечания[править | править код]