- Кодировка
-
Набор символов (англ. character set) — определённая таблица кодировки конечного множества знаков. Такая таблица сопоставляет каждому символу последовательность длиной в один или несколько байтов.
Хотя термин «набор символов» (англ. character set, charset), узаконенный RFC 2278, сейчас является, пожалуй, наиболее авторитетным, предшествовавший ему термин «кодировка» (англ. encoding) по-прежнему используется в качестве синонима, в частности, в языках программирования [1], [2], [3] и [4].
Нередко также вместо термина «набор символов» неправильно употребляют термин «кодовая страница», означающий на самом деле частный случай набора символов с однобайтным кодированием.
В настоящее время в основном используются кодировки трёх типов: совместимые с EBCDIC и основанные на Юникоде 16-битные, с подавляющим преобладанием первых. Представление Юникода совместимо с ASCII. Кодировки на базе ДКОИ-8) используются только на некоторых мэйнфреймах. Первоначально в каждой операционной системе использовался один набор символов. Теперь используемые наборы символов [5], зависят от типа операционной системы лишь по традиции и устанавливаются согласно локали.
В Википедии и других проектах Фонда Викимедиа используется Юникод UTF-8.
Автоматическое распознавание кодировок
Использование множества кодировок в современном ПО создаёт много неудобств не только программистам, но и пользователям. Согласно одной точке зрения, справиться с крокозябрами можно, если программы будут автоматически распознавать кодировку входящего текста.
Для однобайтных кодировок можно учитывать тот факт, что частота использования разных букв сильно различается (например, в русском часто используется «о», но редко «ъ»). Поэтому, зная язык текста, можно легко выбрать кодировку, в которой частота байтов лучше соответствует частоте букв данного языка.
Альтернативная точка зрения считает подобные эвристические алгоритмы определения кодировки текста вредными, поскольку современные информационные технологии располагают средствами недвусмысленно сопоставить тексту положенную ему кодовую страницу (см., например, программ создания текстовых данных, нарушающих стандарты.
Распространенные кодировки
- ISO 646
- EBCDIC
- ISO 8859:
- ISO 8859-1, ISO 8859-2, ISO 8859-3, ISO 8859-4, ISO 8859-5, ISO 8859-6, ISO 8859-7, ISO 8859-8, ISO 8859-9, ISO 8859-10, ISO 8859-11, ISO 8859-13, ISO 8859-14, ISO 8859-15
- CP850, CP852, CP866, CP869
- Кодировки Microsoft Windows:
- MacRoman, КОИ8 (KOI8-R, KOI8-U…), КОИ-7
- Болгарская кодировка
- ISCII
- VISCII
- Big5 (наиболее знаменитый вариант Microsoft CP950)
- GB2312
- GBK (Microsoft CP936)
- GB18030
- Shift JIS для японского языка (Microsoft CP932)
- EUC-KR для корейского языка (Microsoft CP949)
- ISO-2022 и EUC для китайской письменности
- Кодировки UTF-16 набора символов Юникод
Примечания
- ↑ Перечень основных «кодировок» в руководстве по Java SE 6
- ↑ Обсуждение темы «кодировок» в документации по языку Perl
- ↑ Обсуждение соотношения терминов «кодировка» и «набор символов» в документации по языку HTML
- ↑ Обсуждение темы «кодировок» в документации по технологии XSLT
- ↑ Спецификации наборов символов на сайте IANA
Кодировки символов Основы → алфавит • текст ( файл • данные ) • набор символов • конверсия Исторические кодировки → Докомп.: семафорная (Макарова) • Морзе • Бодо • МТК-2 Комп.: 6 бит • УПП • EBCDIC ( ДКОИ-8 ) • КОИ-7 • ISO 646 совре-
менное
8-битное
представ-
лениесимволы → управляющие • печатные ) не-ASCII ( псевдографика ) 8бит. код.стр. Разные → Кириллица: КОИ-8 • ГОСТ 19768-87 • ISO 8859 → 1(лат.) 2 3 4 5(кир.) 6 7 8 9 10 11 12 13 14 15(€) 16 Windows → 1251(кир.) 1252 WGL4 IBM&DOS → 850 • 866 «альт.» ( МИК ) Много-
байтныеТрадиционные → GB2312 ) • HTML Unicode → UTF-8 • список символов ( кириллица ) Связанные
темы →интерфейс пользователя • раскладки клавиатур • локаль • перевод строки • шрифт • крокозябры • транслит Утилиты: recode
- ISO 646
Wikimedia Foundation. 2010.