Кодировка символов

30-08-2023

(перенаправлено с «Кодировка символов»)
Перейти к: навигация, поиск

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

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

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

Хотя термин «набор символов» ([4].

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

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

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

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

Использование множества кодировок в современном ПО создаёт много неудобств не только программистам, но и пользователям. Согласно одной точке зрения, справиться с кракозябрами[en] можно, если программы будут автоматически распознавать кодировку входящего текста.

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

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

Распространенные кодировки

См. также

Ссылки

Примечания

  1. Перечень основных «кодировок» в руководстве по Java SE 6
  2. Обсуждение темы «кодировок» в документации по языку Perl
  3. Обсуждение темы «кодировок» в документации по технологии XSLT
  4. Обсуждение соотношения терминов «кодировка» и «набор символов» в документации по языку HTML
  5. Спецификации наборов символов на сайте IANA


Кодировки символов
Основы алфавиттекстфайлданные ) • набор символовконверсия
Исторические кодировки Докомп.: семафорная (Макарова)МорзеБодоМТК-2
Комп.: 6-битнаяУППRADIX-50EBCDICДКОИ-8 ) • КОИ-7ISO 646
современное
8-битное
представление
символы ASCIIуправляющиепечатные ) • не-ASCIIпсевдографика )
8-битные код.стр. Кириллица: КОИ-8ГОСТ 19768-87MacCyrillic
ISO 8859 1 (лат.)2345 (кир.)6789101112131415 (€)16
Windows 12501251 (кир.)1252125312541255125612571258WGL4
IBM & DOS 437850852855866 «альт.»МИКНИИ ЭВМ
Многобайтные Традиционные DBCSGB2312 ) • HTML
Unicode UTF-32UTF-16UTF-8список символовкириллица )
Связанные темы интерфейс пользователяраскладка клавиатурылокальперевод строкишрифткракозябрытранслитнестандартные шрифтытекст как изображение
Утилиты iconvrecode

Кодировка символов.

© 2011–2023 stamp-i-k.ru, Россия, Барнаул, ул. Анатолия 32, +7 (3852) 15-49-47