Отличие кодировок
Подготовил: Никерин Евгений
Первые 128 символов стандартизированы. Они одинаковы абсолютно во всех кодировках по всему миру. Если говорить о символах, то это весь английский алфавит, цифры и основные знаки. Оставшиеся 128 позиций отданы "на откуп" национальным алфавитам и дополнительным символам. В подавляющем большинстве стран именно так все и есть. Однако в России существует не одна и даже не две национальные кодировки. Их ровно пять. Таким образом, если текст написан по-русски в одной кодировке, то в другой он будет выглядеть абсолютно беспорядочным набором разных знаков.
Многие читатели данной Вики-статьи наверняка спросят: "Но почему в России так много разных кодировок?". Для ответа на этот вопрос придется совершить небольшой экскурс в историю. Все началось в 70-х годах прошлого века. Именно тогда на наших компьютерах (не персональных - их тогда еще не было) появилась операционная система UNIX. Естественно, ее адаптировали к русскому языку. Именно тогда и возникла первая кодировка, получившая название KOI-8. С тех пор она стала стандартом "де-факто" для всех UNIX-подобных операционных систем - например для Linux.
Немного позже началось победное шествие персональных компьютеров. А вместе с ними огромное распространение получила операционная система 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 есть во всех браузерах, наверное, не существует ни одного сайта, ее использующего.
Кроме того, уже достаточно долгое время наблюдаются попытки "проталкивания" универсальной кодировки 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)