Электронная почта может передавать только текстовую информацию. Поэтому если нужно переслать файл, содержащий что-либо, кроме символов букв и цифр (файл базы данных, файл с графическим изображением, упакованный архив, исполняемый файл), его нужно перекодировать в текстовую форму. Для этого используются различные способы кодировки. Рассмотрим наиболее часто встречающиеся.
Для каждой кодировки попытаемся ответить на вопросы:
- Как опознать ту или иную кодировку.
- Что делать с письмом, чтобы прочитать текст (данные).
- Где взять необходимые программы.
UUENCODE, документ находится в одном письме
Закодированный текст начинается строкой "begin имя_файла". В последней строке - слово "end"
Скачать uuexe525.zip
Кодировка UUENCODE, документ состоит из нескольких частей
Документ находится в нескольких письмах. Первое письмо начинается словами "begin имя_файла":
------------------------------------------------------------------------
begin image.gif
M4$L#!!0````(`,-*AQ[B,JU,'R$``(Q*```#````:7)CS7Q9<QQ'DN8SXU<$
MBVVF*DY5%@Z"1W4W130)[email protected]()M`ZYC>MK:HS*BJ9&5FE#(R42C]NH6,L!Z.
[email protected]_5EQIH+_UF:>FVW\D)\;9XH$A^<@>?09+669P]/@-?6F%4%)->MSN=3BNQ
M=D<$*2=`R%U>KBL._-<\<`_^/WUBW2?F\[(=_ASAGO'+G0.&:63<08'_I`3.
-------------------------------------------------------------------------
Вторая (и последующие промежуточные) части файла могут не иметь ни слова "begin" в начале, ни слова "end" в конце.
Последнее письмо заканчивается словом "end":
--------------------------------------------------------------------------
M,%!QWJ'[email protected];>F=CE8-23]QZVY>?[;?D9!;O?&63UERXMPK">W/^\+3]]W);;
M<=XOK1#_%U!+`0(4`Q0````(`,-*AQ[B,JU,'R$``(Q*```#``````````$`
A``"[email protected]````!I<F-02P4&``````$``0`Q````0"$`````
`
end
--------------------------------------------------------------------------
Иногда в конце каждой части указывается контрольная сумма и размер части.
sum -r/size 27951/6200 section (from first to last encoded line)
А в последней части - контрольная сумма всего документа:
----------------------------------------------------------------------
MH`T*KZZOXZOOX*WKK"X-"@T*+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM
K+2TM+2TM,[email protected]#,X.3,S.#@T-#4Q-#0Q.3$W,#@T,#8P.#,M+0T*#0H-"@H-
`
end
sum -r/size 48886/2672 section (from first encoded line to "end")
sum -r/size 25804/24433 entire input file
--------------------------------------------------------------------------
Раскодировать данные можно программой uudecode из комплекта uuexe525.zip (она умеет автоматически "собирать" файл, состоящий из нескольких частей).
uudecode part
Скачать uuexe525.zip
Кодировка BinHex
В тексте или заголовках письма встречаются слова BinHex. Пример:
----------------------------------------------------------------------
--=====================_830452152==_
Content-Type: application/mac-binhex40; name="LOGIN.CMD"
Content-Disposition: attachment; filename="LOGIN.CMD"
KFh0`FQpYF(30)#!J)'peG("eG#!NF'&cFhG[FQ4F-6-0)`dM)(GP)'&bC5"ZEhF
JE'pRCf9N)'[email protected]$E#E!!!!:
--=====================_830452152==_
Content-Type: text/plain; charset="us-ascii"
------------------------------------------------------------------------
Такое письмо нужно записать в файл. Извлечь данные можно программой:
xbin.exe file
При этом создается три файла с расширениями:
file.dat
file.rsr
file.inf
Собственно данные содержатся в файле с расширением ".dat"
Скачать xbin23.zip
Кодировка MIME (base64)
Обратите внимание на заголовок письма - там обязательно есть строка MIME-Version.
-------------------------------------------------------------------------
Content-Type: text/plain; charset=US-ASCII; name=text.txt
Content-transfer-encoding: base64
MIME-Version: 1.0
SXQncyBhIHZlcnkgZnVubnkgdGhvdWdodCB0aGF0LCBpZiBCZWFycyB3ZXJl
IEJlZXMsDQpUaGV5J2QgYnVpbGQgdGhlaXIgbmVzdHMgYXQgdGhlIGJvdHRv
bCB0aGVzZSBzdGFpcnMuDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFdpbm5pZS10aGUtUG9vaA0KDQo=
-------------------------------------------------------------------------
Нужно записать письмо (вместе с заголовком) в файл. Последняя строка кода должна быть последней строкой в файле. Раскодировать:
mime64.exe infile [outfile]
Скачать mime64b.zip
Кодировка quoted-printable
Вместо русских букв - их шестнадцатеричные коды:
-------------------------------------------------------------------------
Mime-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
=F0=D2=C9=D7=C5=D4 =F3=D7=C5=D4=C1!
=ED=C5=CE=D1 =DA=CF=D7=D5=D4 =F2=CF=C2=C5=D2=D4, =D0=C9=DB=D5
=D4=C5=C2=C5=
=C9=DA =E1=CD=C5=D2=C9=CB=C9.
-------------------------------------------------------------------------
Нужно записать письмо в файл и раскодировать:
mmencode -u -q infile > outfile
Скачать mmencode.zip
Скачать mimeqp.zip
Кодировка xbtoa
Закодированный текст начинается словами xbtoa Begin:
--------------------------------------------------------------------------
xbtoa Begin
LSWk$U>b++j/FRPUu::.+Und7Xl?28V;^I2iZR6R+JttXiLm9Fmi\glY+_nmXIp]>XrpD,9q\R1UoW
...
2-e_5P)clh1r+D5M!F#n>QCh%C#/n8g:E%YX:+=\iJ%13OO%13(8
xbtoa End N 16950 4236 E 7 S 198ec9 R 8335744f
--------------------------------------------------------------------------
Кодировщик "btoa". Такие письма раскодируются программой atob.
Скачать btoa.zip
Кодировка PGP
Опознается следующим образом:
------------------------------------------------------------------------
-----BEGIN PGP MESSAGE-----
Version: 2.3a
hDwCqboOL27CRKkBAX0dOcOn07QFhqNuJFetp+WUb1QedPkRturI/2vKkS5/bmzR
nnJKj75Cp7/FhILgCrmmAABEIcd+MmhibfPVVmmgeuEUAbE5r+lCtHFRM/FaA4Lr
...
izQw7OIWz4OrGtRpAM00NSalSXiVnuiGG21pLa3ozTPEw0x/+iqXRRPILdhWeSV7
6nATz0hikdjSeuaolcHs086O2G2+1KQl7TTqpWU0ST+BhcKB
=T6hh
-----END PGP MESSAGE-----
------------------------------------------------------------------------
Так выглядит документ, обработанный программой шифрования PGP (Pretty Good Privacy).
Для раскодирования нужно записать письмо в отдельный файл. Раскодировать файл:
pgp ciphertextfile [-o plaintextfile]
Кроме самой программы pgp, вам понадобится открытый ключ автора письма и ваш закрытый ключ (подробнее - см. документацию к программе pgp).
Скачать pgp26i.zip
|