мышки оптом

Кодировки русских букв в почтовых сообщениях

Существующие кодировки русских букв

В компьютерной технике каждый символ долгое время кодировался одним байтом. В настоящий момент активно внедряется UNICODE, где для представления символа используется более 1 байта. Однако в сети широко используются однобайтная кодировка. Байт состоит из 8 бит (единиц) и может принимать значение от 0 до 255. Компьютерные программы интерпретируют код каждого байта как определенный графический знак символа. Одним байтом можно закодировать 256 символов, этот набор называется кодовой таблицей символов. Кодовую таблицу принято делить на нижнюю половину (значения байта от 0 до 127) и верхнюю половину (значение байта от 128 до 255). Для поддержки национальных алфавитов существует множество кодовых таблиц. Иначе их еще называют таблицами наборов символов (charset). В нижней половине кодовой таблицы располагаются символы английского алфавита и знаки препинания. В верхней половине кодовой таблицы располагаются русские буквы (мы обсуждаем только кодировку русских букв) и символы псевдографики. Кодировка KOI8-R определена в сети RELCOM как стандарт для передачи русских символов. Но русскому языку не повезло - существует множество используемых в настоящее время различных кодовых таблиц для русских символов:

Кодировка Операционная система Описание
cp866
(DOS)
MS DOS, OS/2 Стандартная кодировка DOS
KOI8-R
(KOI8)
UNIX Исторически сложившаяся кодировка, удобная тем, что при отгрызении 8 бита текст остается читабельным, используется в интернете и юниксах. Встречается 3 разных варианта размещения псевдографики, однако наиболее стандартная кодировка - KOI8-R имени А.Чернова (RFC 1489)
http://koi8.pp.ru/framed-koi8.html
CP1251
(Win)
MS Windows Кодировка использумая в ОС Windows.
СP10007
(Mac)
MacOS Кодировка от Apple.
ISO-8859-5
(ISO)
UNIX  
Латиница   Русский текст, выполненный английскими буквами.

Вопросы перекодирования обычно сводятся к:

  • перекодировке символов принятого вами по почте сообщения в кодовую таблицу, которая поддерживается в вашей программе;
  • перекодированию отправляемого вами по почте сообщения в кодировку, читаемую на стороне получателя (если это необходимо);
  • использованию специальных оболочек (типа Volapuk и QUOTED PRINTABLE) для передачи русских текстов по сетям, позволяющим посылать сообщения только в 7-и битовом коде. (см. Кодирование почтовых сообщений)

Подсказкой об используемой кодовой таблице на машине отправителя может служить необязательное поле заголовка письма:

Content-Type: charset=......

Но возникают и более сложные задачию, требующие многократного перекодирования. Например, пользователь сети использует почтовую программу, которая отправляет письма в кодировке Windows CP1251. Так как стандартной кодировкой считается KOI8-R, то пусть для удобства клиента на узле провайдера все отправляемые им письма перекодируются из CP1251 в KOI8-R. Далее, пользователь меняет программное обеспечение, не известив при этом техническую службу узла. Учитываю постоянно растущее многообразие почтовых программ, подобные случаи нередки. А если это произойдет и на стороне получателя? В подобных случаях может потребоваться 2 и более перекодировок и при неизвестных способах кодирования число вариантов растет лавинообразно. Обычно для решения подобных задач используются отдельные программы кодировщики под DOS или Windows. Существуют программы, которые сами пытаются подобрать вариант последовательного перекодирования, автоматически анализирую степень читабельности полученного сообщения. Но это у них не всегда получается.


Автоматические перекодировщики.

Такие программы определяют используемую кодировку в документе и преобразовывают затем его к той, которая необходима. Исходную кодировку они определяют на основании поиска в словарях наиболее распространенных слов или использую эмпирические алгоритмы.

Название Статус Особенности
TOT-Recode
http://www.totcd.ru
Бесплатный - Ручная оценка правильности перекодирования;
+ возможность самостоятельного выбора направления перекодирования;
+ достаточно маленький объем;
+ доступна в виде программы;
+ Бесплатный.
http://www.totcd.ru/recode
Почтовый декодер
Студия Артемия Лебедева
Бесплатный - Достаточно маленький словарь;
- Нет возможности самостоятельного выбора направления перекодирования;
- Только on-line версия;
+ Поддерживает раскодирования почтовых сообщений MIME;
+ Бесплатный.
http://www.design.ru/free/decoder/
Mail Reader
АО Агама
Коммерческий продукт + Большой словарь;
+ Высокая степень правильности перекодирования
+ Демоверсия на 30 перекодировок;
- Большой объем программы;
- Достаточно дорого.
http://www.agama.com/mailreader/
DC.ZIP
Universal Russian codepage DeCoder v 0.52a
(c)Evgeny Kotsuba, 1997
бесплатное, для некоммерческого использования + KOI8, DOS, Win, ISO, MAC
+ декодирование Quoted-Printable, Volapyuk, Translit, Latin1.
+ Универсальный декодировщик.
+ Позволяет создавать свои алгоритмы перекодирования.
+ KOI8, DOS, Win, ISO, MAC.
XCODE.EXE
by Pavel Senatorov
Emil Sildos
Бесплатный +Универсальный декодировщик.
+Позволяет распознавать двухкратные перекодировки.
+KOI8, DOS, Win, ISO, MAC.
ftp://ftp.lexa.ru/pub/domestic/emil/xcode/
EMAGIC.ZIP
Encoding Magic Ver 1.0.1 by Sergey Gershtein for DOS
Бесплатный + Универсальный кодировщик
+ Любое количество перекодировок
+ KOI8, DOS, Win, ISO.
ftp://ftp.mplik.ru/pub/unix/utils/emagic_1.0.1.tgz
Универсальный декодировщик Щтирлиц под Windows Условно бесплатный + Универсальный кодировщик
+ Любое количество перекодировок
http://www.download.ru/russian/sp/606.htm

   

© 2001-2010 RCom