Чтение онлайн

на главную

Жанры

Тайны и секреты компьютера

Орлов Антон

Шрифт:

Рис. 13.6. Шрифты Unicode — работают везде.

Koi-8

В то время как на рынке операционных систем для персональных компьютеров безоговорочную победу одержала всем нам знакомая MS-DOS, среди операционных систем для сетей дело обстояло не так. Там начинала властвовать Unix — операционная система, построенная на несколько других принципах. Эта система имела открытый исходный код — любой программист мог создать «свою» Unix, настроенную именно на его предпочтения, была

очень удобна для программирования. И эта операционная система весьма бурно развивалась в своей отрасли — обьединении компьютеров в единое целое. Понятие о кодовой странице в Unix имело несколько другое значение, но на этом сейчас останавливаться не стоит.

С развитием сетевых технологий возникла тенденция к обьединению не только компьютеров, расположенных в одном месте, в локальные сети, но и самих этих сетей в некое единое целое. Начала зарождаться Всемирная Сеть — Internet. И одной из первых возможностей обьединенной сети стала возможность обмена информацией посредством текстовых сообщений — электронная почта, e-mail.

Для работы с электронной почтой, ее передачи и приема, сортировки и разработки маршрута движения были созданы специальные системы — почтовые сервера. Сам по себе "почтовый сервер" — это программа, постоянно работающая на компьютере и выполняющая задачи по обработке почты, поступающей на компьютер, на котором она запушена, из Сети и отправляющая почту в Сеть. (Однако нередко для работы такой программы выделялся отдельный компьютер.) Чаще всего они работали под управлением операционной системы Unix.

Всемирная Сеть изначально зародилась и начала развиваться в Америке. Поэтому вся система почтовых серверов вначале была предназначена для работы с почтой англоязычных пользователей, пишущих также англоязычным адресатам. Так как использование в текстовых сообщениях, которые составляли тогда единственное содержимое электронной почты, символов псевдографики было отнюдь не обязательно (хватит и простого текста!), то программы, работающие с электронной почтой, как на компьютерах пользователей, так и на почтовых серверах, делались в расчете на первую половину кодовой страницы — на семибитную кодировку.

Ясно, что текстовые сообщения, содержащие символы с кодами, большими 127 и не могущие быть закодированы семью битами, нормально такими серверами обрабатываться не могли. Для того, чтобы такие письма все же как-нибудь проходили через семибитные почтовые серверы, символы сообщений принудительно приводились к семибитному виду — у них обнулялся первый бит, указывающий на половину их кодовой страницы. Например, символ «е» (русская буква е) переходил в «f», символ «ш» — в «y». Дальше шло уже обработанное таким образом письмо.

Если бы все почтовые сервера тогда были восьмибитные (то есть умеющие корректно работать с символами второй половины кодовой страницы), то пересылка через них русскоязычной почты не составляла бы проблем — лишь бы компьютеры отправителя и получателя поддерживали бы русскую кодовую страницу (или, в случае операционной системы Windows, и отправитель, и получатель имели бы шрифт с русскими символами). Ну и пусть в пути письмо не могло быть никем прочитано, у кого нет русской кодовой страницы (оно отобразилось бы на их компьютерах как мешанина символов) — даже лучше! Но обрезающие письма сервера не позволяли так делать.

Выходы были. Первый, самый тогда распространенный — писать письмо транслитом, latinskimi bukvami. Некрасиво и плохо читаемо, зато надежно — дойдет в исходном виде всегда. Но, поскольку все же не все почтовые сервера были семибитные, была создана специальная кодировка для электронной почты, которая отличалась тем, что на места, соответствующие кодам символов, большим 127, были поставлены русские символы, похожие по звучанию на английские буквы на местах, соответствующих кодам символов, меньших на 128. Иными словами, в этой новой кодировке коды 225, 226, 227, 228 соответствовали символам «а», «б», «ц», «д», которые при семибитном преобразовании перешли бы в коды 97, 98, 99, 100, соответствующие английским буквам «a», «b», «c», «d». Слово «привет», написанное в новой кодировке, пройдя через семибитный почтовый сервер, перешло бы в слово «PRIWET», что еще хоть как-то читаемо. Ну, а если письму бы повезло и на его пути не встретились бы семибитные сервера, то оно дошло бы в исходном

виде.

Новая кодировка была названа KOI-8. Так как системы на основе Unix были в основном рассчитаны на работу с электронной почтой и международными сетями, то она стала стандартом для этой системы. Количество семибитных серверов стало понемногу сокращаться, сейчас их уже почти совсем не осталось в мире, а кодировка уже стала общепринятой, и программы для Unix предназначены для работы именно с ней.

KOI-8 использовалась не только Unix-системами. Так, любой пользователь персонального компьютера под управлением MS-DOS или Windows, имеющий выход к электронной почте, должен был иметь у себя программу для получения и отправки сообщений, умеющую работать с KOI-8. Выход к системе электронной почты был возможен и с компьютеров фирмы Apple — с Макинтошей, однако в операционных системах для этих компьютеров использовалась своя, оригинальная русская кодировка символов, отличающаяся от всех остальных. Для того, чтобы облегчить переписку между пользователями разных типов компьютеров и операционных систем, KOI-8 была принята как универсальная кодировка, и любая почтовая программа была обязана уметь читать и отправлять сообщения в этой кодировке.

Слишком умные серверы

Наличие пяти различных кодировок для русского языка создало определенные проблемы. Прежде всего, возникла необходимость в специальных программах-перекодировщиках, о которых речь пойдет ниже. Но самая большая проблема оказалась в российских почтовых серверах.

Казалось бы, а в чем она могла заключаться? Главное, чтобы серверы могли обрабатывать сообщения в восьмибитных кодировках, и тогда в какой бы кодировке сообщения не пересылались, они всегда могли бы быть прочитаны принимающей стороной с помощью программы, умеющей работать с этой кодировкой. Но, увы, не все оказалось таким простым… В некоторые почтовые серверы их создатели вложили возможность автоматической перекодировки поступающих сообщений — возможно, для некоей «стандартизации»: глупый пользователь, ничего не понимающий в компьютерах, написал и отправил письмо в кодировке Windows-1251, - так надо его письмо перевести в KOI-8, чтобы было, как у нормальных людей, никогда не использующих Windows! Хотя, может быть, у создателей перекодирующих серверов были и иные соображения.

Если на такой перекодирующий сервер поступит сообщение в кодировке Windows-1251, и он его воспримет именно как сообщение в этой кодировке, то письмо преспокойно будет перекодировано в KOI-8 и отправлено дальше. О том, в какой кодировке написано письмо, всегда указывается в его заголовке или тексте. Просмотреть текст сообщения именно в том виде, в каком сообщение передается почтовыми серверами (то есть со всей служебной информацией) можно в любой почтовой программе. Например, в Microsoft Outlook Express 5.0 это можно сделать, щелкнув правой кнопкой мыши на письме, выбрав из контекстного меню пункт «Свойства», а в появившемся окне — вкладку «Подробности». Тогда можно будет просмотреть заголовок сообщения. Нажав на кнопку "Исходное сообщение", вы увидите текст письма так, как он передается по Сети. Кодировка письма указывается в заголовке сообщения (рис. 13.7).

Рис. 13.7. Указание на кодировку письма в заголовке сообщения.

Русская версия Microsoft Outlook Express 5.0 по умолчанию для всех отправляемых сообщений ставит кодировку KOI-8 и сообщения отправляет именно в этой кодировке. Однако некоторые почтовые программы могут делать ошибки — письмо написано, например, в KOI-8, а программа пишет в заголовке письма, в служебной информации, что письмо имеет кодировку Windows-1251. Если такое письмо будет отправлено адресату, то оно сразу не сможет правильно отобразиться в его почтовой программе — на экране будет мешанина символов вроде той, что помещена в заголовке этой главы. Поскольку почти все почтовые программы позволяют просматривать одно и то же письмо в различных кодировках, то получатель письмо прочитать все же сможет, просто выбрав для него правильную кодировку.

Поделиться:
Популярные книги

Леди Малиновой пустоши

Шах Ольга
Любовные романы:
любовно-фантастические романы
6.20
рейтинг книги
Леди Малиновой пустоши

Пропала, или Как влюбить в себя жену

Юнина Наталья
2. Исцели меня
Любовные романы:
современные любовные романы
6.70
рейтинг книги
Пропала, или Как влюбить в себя жену

Сердце Дракона. нейросеть в мире боевых искусств (главы 1-650)

Клеванский Кирилл Сергеевич
Фантастика:
фэнтези
героическая фантастика
боевая фантастика
7.51
рейтинг книги
Сердце Дракона. нейросеть в мире боевых искусств (главы 1-650)

Измена. Право на сына

Арская Арина
4. Измены
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Измена. Право на сына

Всплеск в тишине

Распопов Дмитрий Викторович
5. Венецианский купец
Фантастика:
попаданцы
альтернативная история
5.33
рейтинг книги
Всплеск в тишине

Я — Легион

Злобин Михаил
3. О чем молчат могилы
Фантастика:
боевая фантастика
7.88
рейтинг книги
Я — Легион

Долг

Кораблев Родион
7. Другая сторона
Фантастика:
боевая фантастика
5.56
рейтинг книги
Долг

И только смерть разлучит нас

Зика Натаэль
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
И только смерть разлучит нас

Лорд Системы 4

Токсик Саша
4. Лорд Системы
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Лорд Системы 4

Камень. Книга восьмая

Минин Станислав
8. Камень
Фантастика:
фэнтези
боевая фантастика
7.00
рейтинг книги
Камень. Книга восьмая

Гарем вне закона 18+

Тесленок Кирилл Геннадьевич
1. Гарем вне закона
Фантастика:
фэнтези
юмористическая фантастика
6.73
рейтинг книги
Гарем вне закона 18+

Возвращение Низвергнутого

Михайлов Дем Алексеевич
5. Изгой
Фантастика:
фэнтези
9.40
рейтинг книги
Возвращение Низвергнутого

Неудержимый. Книга XI

Боярский Андрей
11. Неудержимый
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Неудержимый. Книга XI

Месть за измену

Кофф Натализа
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Месть за измену