=?iso-8859-1?q?=5Bsisyphus=5D_Re=3A_=5Bsisyphus=5D__=F7=D9=CC=CF=D7=CC=C5?= =?iso-8859-1?q?=CE_=C9_=D5=C2=C9=D4_=C2=C1=C7=D7__Sylpheed_=D3=0D=0A_=D0?= =?iso-8859-1?q?=D2=CF=C2=C5=CC=C1=CD=C9_=D7_Subject?=
Andrey Brindeew
=?iso-8859-1?q?linux_=CE=C1_abr=2Ex9=2Eru?=
Вс Мар 11 23:55:45 MSK 2001
On Sun, 11 Mar 2001 23:42:07 +0300
Sergey Vlasov <vsu на mivlgu.murom.ru> wrote:
SV> Subject: Re: [sisyphus] Re: [sisyphus] $
SV>
=?koi8-r?Q?=F7=D9=CC=CF=D7=CC=C5=CE=20=C9=20=D5=C2=C9=D4=20=C2=C1=C7=D7?=
SV> $
SV> Sylpheed =?koi8-r?Q?=D3=20=D0=D2=CF=C2=C5=CC=C1=CD=C9=20=D7?=
Subject$
SV>
SV> ("$" добавлены в конце для показа пробелов). Т.е. стоит пробел в конце
SV> строки и табуляция в начале. Sylpheed при декодировании вставляет
после
SV> [sisyphus] и перед Sylpheed два пробела подряд.
SV>
SV> Похоже, придется читать RFC и разбираться, где куда должны деваться
SV> пробелы. По крайней мере, теперь они пропадают реже, но все равно
SV> неприятно. Как бы не пришлось всю функцию переписывать :-(
Позволю себе влезть в дискуссию.
Когда я проделывал подобное на Perl (MIME-tools работают прекрасно, но вот
поддержка RFC-1522 (AKA RFC-2047) там откровенно плохая), то смотрел
просто - есть ли в строке символы из верхней половины таблицы. Если есть -
то режем весь заголовок на пачки и каждую пачку энкодим, независимо от
того, попали в нее символы, подлежащие энкодингу, или не попали. Пробелы
должны учитываться наравне со всеми символами. Каждое 'encoded word'
должно отделяться от другого пробелом, который не учитывается при
раскодировании. Длина всего закодированного слова не может превышать 75
символов. Если учесть, то используем только base64-кодирование (как более
экономное, по сравнению с quoted-printable), то получаем:
=?charset?B?=<encoded data>?=
Длина закодированных данных вместе с длиной чарсета не может превышать 67
символов.
Вот вкратце этот РФЦ. 8)
--
WBR, Andrey Brindeew.
"No one person can understand Perl culture completely" (C) Larry Wall.
Подробная информация о списке рассылки Sisyphus