|
|
Кодировки, кодировки...
| Просматривая с помощью Блокнота (Notepad) текстовые файлы, созданные в DOS* редакторах (а такие файлы до сих пор попадаются), вы заметите странную и, если вдуматься, довольно печальную закономерность: тексты с использованием латинских букв будут читаться абсолютно нормально, а тексты с русскими буквами извратятся в нечитаемые ребусы.
Очень похожая картина, но с применением иных закорюк ожидает вас,
вы попытаетесь поступить наоборот: загрузить виндоузовский текстовый файл
на русском языке в какой-то досовский редактор или посмотреть досовским просмотровщиком или файловым менеджером вроде Norton Commander.
В чем дело? В том, что в Windows и в DOS принятыразные стандарты верхней
части кодовой таблицы.
Что означает сия мудреная фраза? Что это вообще за кодировки какие-то^ возникающие там и сям и доставляющие столько хлопот?
Каждый символ в компьютере имеет свой код, проще говоря, порядковый номер. Нажимая клавишу, вы вводите именно этот номер. А потом по какой-то своей кодовой таблице компьютер смотрит, что именно ему надо нарисовать на экране
(или напечатать, если идет выдача на печать). Так вот, нижняя часть таблиц с
кодами от 32 до 127 —стандартная для всех, латинская1. Она и в .DOS, и в Windows,
и в Африке одинаковая. А вот на места со 128 по 255 претендуют символы национальных алфавитов — французских, немецких, шведских, польских, каких хотите,
в том числе и русских.
Так вот, проблемы наши начинаются с того, что расположение русских букв в принятой в Windows русской кодовой таблице -1251 (code page 1251, она же таблица ANSI) не совпадает со стандартной кодировкой, принятой ранее для MS-DOS - кодовой таблицей ASCII-866 (или DOS-866). То.что в считаем буквами а, б, в, г и д, в DOS-866 окажется буквами р„с, т, у и ф. А заглавные буквы А, Б, В, Г, Д будут и вовсе не буквами, а некими загадочными символами.
Почему корпорация Microsoft отказалась от собственного стандарта и на полном ходу завела для нас Другой — тайна сия велика есть (но не единственна).
Этим дело не ограничивается. Существует и широко распространена на компьютерах с операционными системами семейства Unix (а значит, и на множестве
серверов Интернета) еще одна русская кодировка — KOI-8R, где буквы кириллицы расставлены очень хорошо и разумно, но совсем не так, как в DOSH Windows,
Своя русская кодировка на Макинтошах (Мае). Своя — на рабочих станциях Sun
(ISO-8859). Короче: «Я другой такой страны не знаю, где так много разных коды
роек* (пришлось ампутировать одну гласную ради полного совпадения с музыкой|
Дунаевского).
Но и это еще не все. В документах Microsoft Office, начиная с восьмой версии,
(Word 97, Excel 97 и т. д.), действует совсем новая кодировка, которая называется
Unicode. В юникоде на каждый символ отводится не один байт (номера от 0 до 255),
а два (от 0 до 65536), отчего размер текстов увеличивается ровно в два раза, зато такой кодировке можно использовать одновременно символы самых разнообразь
ных языков — европейских, азиатских, ближне- и дальневосточных. В одном шрйф-^
те теперь может помещаться до шестидесяти пяти с половиной тысяч букв, пикто|
грамм, стрелочек, звездочек и прочих штучек. !';
Текстовые редакторы, обученные работе с русским языком, снабжаются спе циальными преобразователями (конвертерами), которые умеют превращать тексты в кодировке DOS-866 в СР4251, когда вы загружаете файл в редактор. Но часто приходится объяснять редактору, что файл именно досовский, дабы он примени)! свой конвертер. Делается это всегда в более Или менее стандартном виндоузовском меню Открыть (Open) в окошке-списке Тип Файла (Rle Type).
Аналогичным образом вы сможете поступать и сохраняя документ на диск: есЩ нужно отнести текст человеку (или в организацию), где используются только досовские редакторы и просмотровщики, то при сохранении выберете в окошке Тип Файла что-то вроде Текст MS-DOS. И все вас поймут. |
| Категория: Мои статьи 2 | Добавил: sergei4 (05.06.2010)
|
| Просмотров: 196
| Рейтинг: 0.0/0
|
|
|