Отличие кодировок

Материал из ТолВИКИ
Перейти к: навигация, поиск

Подготовил: Никерин Евгений




040512kod1.gif
В чем отличие различных таблиц кодировки друг от друга? Для начала, наверное, нужно вообще разобраться, что же такое кодировка. Под этим термином понимают специальную таблицу, в которой перечислены все возможные значения одного байта (всего их 256) и символы, соответствующие каждой цифре. Фактически, текстовая информация (как и любая другая) поступает на компьютер пользователя в цифровом виде (последовательность байтов). При этом каждый символ - это число от 0 до 255. Компьютер выводит на экран не цифры, а соответствующие им буквы. Таким образом, пользователь видит перед собой нормальный текст.


Первые 128 символов стандартизированы. Они одинаковы абсолютно во всех кодировках по всему миру. Если говорить о символах, то это весь английский алфавит, цифры и основные знаки. Оставшиеся 128 позиций отданы "на откуп" национальным алфавитам и дополнительным символам. В подавляющем большинстве стран именно так все и есть. Однако в России существует не одна и даже не две национальные кодировки. Их ровно пять. Таким образом, если текст написан по-русски в одной кодировке, то в другой он будет выглядеть абсолютно беспорядочным набором разных знаков.


Многие читатели данной Вики-статьи наверняка спросят: "Но почему в России так много разных кодировок?". Для ответа на этот вопрос придется совершить небольшой экскурс в историю. Все началось в 70-х годах прошлого века. Именно тогда на наших компьютерах (не персональных - их тогда еще не было) появилась операционная система UNIX. Естественно, ее адаптировали к русскому языку. Именно тогда и возникла первая кодировка, получившая название KOI-8. С тех пор она стала стандартом "де-факто" для всех UNIX-подобных операционных систем - например для Linux.


040512koi-8bas.gif


Немного позже началось победное шествие персональных компьютеров. А вместе с ними огромное распространение получила операционная система MS-DOS. Ее разработчик, компания Microsoft, во время русификации не воспользовалась KOI-8, а придумала свою кодировку, получившую название DOS (кодовая страница 866). В этой таблице среди дополнительных символов появились элементы рамок, которые значительно облегчали рисование таблиц в различных текстовых редакторах. Это тоже способствовало распространению кодировки DOS. Кстати, примерно в то же время или немного позже на российский рынок вышли компьютеры Macintosh. Естественно, при русификации установленной на них операционной системы была создана еще одна таблица символов - MAC. Правда, нужно отметить, что она практически никогда не использовалась вследствие малого распространения самих "Макинтошей".


В 1990 году компания Microsoft выпустила новую операционную версию Windows 3.0. В ней поддержка национальных языков была встроена. Но вот что интересно - по каким-то причинам специалисты Microsoft не воспользовались уже существующей русской кодировкой DOS, а снова изобрели новую - Win (кодовая страница 1251). Скорее всего, это было сделано из-за введения в таблицу других дополнительных символов вместо рамок и тому подобных символов. Но достоверно о причинах появления кодировки Win мы, скорее всего, уже не узнаем. Еще позже на проблему наличия нескольких национальных кодировок в России и некоторых других странах обратила внимание международная организация International Organization for Standardization, занимающаяся вопросами стандартизации. И опять же, вместо того чтобы за основу взять наиболее распространенную кодировку (на тот момент это была таблица Win), представители ISO выдумали свою (ISO 8859-5). Но практического применения она не получила. И хотя поддержка кодировки ISO есть во всех браузерах, наверное, не существует ни одного сайта, ее использующего.


1


Кроме того, уже достаточно долгое время наблюдаются попытки "проталкивания" универсальной кодировки Unicode. Ее создатели предложили использовать на каждый символ не один, а два байта. Это позволяет увеличивать число возможных значений до 65535 и вместить в таблицу все символы существующих алфавитов. Правда, все эти попытки остаются абсолютно бесплодными.


Следовательно выделим несколько общих черт различия кодировок:

1) Всего существует 256 символов.

2) Первые 128 символов стандартизированы, они одинаковы по всему миру, и состоят из английского алфавита, цифр и знаков.

3) Остальные 128 отданы "на откуп" национальным алфавитам и дополнительным символам.

4) В России 5 различных кодировок!

а) KOI-8

б) DOS

в) MAC

г) Win

д) ISO 8859-5

5) Текст, написанный в одной кодировке на русском языке, в другой кодировке будет выглядеть различными беспорядочными знаками, следовательно, каждая кодировка индивидуальна, и не поддерживает тесного "сотрудничества" с другой кодировкой.

6) Каждая кодировка задается своей собственной кодовой таблицей. Одному и тому же двоичному коду в различных кодировках поставлены в соответствие различные символы.

7) Общая черта в основном большинстве кодировки используют на 1 символ ровно 1 байт. Существует кодировка Unicode, где Ее создатели предложили использовать на каждый символ не один, а два байта. Это позволяет увеличивать число возможных значений до 65535 и вместить в таблицу все символы существующих алфавитов. Правда, все эти попытки остаются абсолютно бесплодными.



Различие текстовых файлов, созданных в различных кодировках

Когда текстовый файл закодирован, он сохраняется в соответствии со стандартом кодировки - определенным набором правил, в соответствии с которыми каждому текстовому знаку присваивается числовое значение. Существует множество различных стандартов кодировки, представляющих наборы знаков, используемые в различных языках, причем некоторые из этих стандартов поддерживают только знаки одного языка. Так, для текста на китайском языке может быть использован стандарт кодировки GB2312-80 в случае упрощенного письма и стандарт кодировки Big5 в случае традиционного письма.


Поскольку в Microsoft Word используется стандарт кодировки Юникод (Юникод. Стандарт кодировки знаков, разработанный консорциумом Unicode. Используя для представления каждого знака более одного байта, Юникод позволяет представить в одном наборе знаков почти все языки мира.), то в Microsoft Word можно открывать и сохранять файлы с использованием стандартов кодирования для различных языков. Например, работая с операционной системой, использующей интерфейс на английском языке, в Microsoft Word можно открыть текстовый файл, созданный с использованием стандарта кодировки для греческого или японского языка.

--Tepliar 21:10, 25 октября 2011 (MSD)

Личные инструменты
наши друзья
http://аудиохрестоматия.рф/