|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : vitus@ice.ru 2:5020/400 23 May 2000 12:59:44 To : Aleksey Barabanov Subject : Re: Outglook subj decoding -------------------------------------------------------------------------------- Aleksey Barabanov <alekseybb@mtu-net.ru> wrote: AB>yurik shestakov wrote: >> >> [...] >> AB> Протер глаза! И показалось мне что это "use MIME::QuotedPrint;" и >> AB> соответственно "...decode_qp(...". >> AB> Только он не избавляет от кодовой страницы и замыкающего вопросика. Я >> AB> это удаляю ручками ;( Может кто знает более правильный вариант. >> >> В данном примере subject-ы завернуты не quoted-printable, а base64: >> =?KOI8-R?B? -- charset=koi8-r, 'B' -- кодирован base64. >> Hо если: >> =?WINDOWS-1251?Q? -- charset=windows-1251, 'Q' -- quoted-printable >> >> Оба варианта используются. >> Замыкающие '=?=' -- конец закодированного заголовка. AB>Еще раз протер глаза и понял , что первый раз плохо их протирал ;) AB>Hо вопрос остается. Может есть более изящьный способ удаления остатков AB>декодирования, т.е. кодовой страницы и замыкающего вопросика? s/=\?([-A-Za-z0-9]+)\?([QBqb])\?(.*)?=?=/&decode($1,$2,$3)/eg; sub decode { my ($charset,$encoding,$data) = @_; my $decoded if (uc($encoding) eq 'B') { $decoded = decode_base64($data); } elsif (uc($encoding) eq 'Q') { $decoded = decode_qp($data); } else { die "Invalid transfer encoding $encoding"; } return convert_charset($charset,$decoded) } Hаписание функции convert_charset посредством Unicode::Map8 или Lingua::Cyrillic is left as exersize for reader. А вообще стоит смотреть более высокоуровневые модули, такие как MIME::Head на предмет методов decode и unfold. -------------------------------------------------- Victor Wagner vitus@ice.ru Programmer Office:7-(095)-785-09-72 Communiware.Net Home: 7-(095)-135-46-61 http://www.communiware.net http://www.ice.ru/~vitus --- ifmail v.2.15dev5 * Origin: AG Telecom news2 server (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/1340460b4fceb.html, оценка из 5, голосов 10
|