Главная страница


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)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Outglook subj decoding   Nick Haritonov   22 May 2000 19:46:27 
 Re: Outglook subj decoding   yurik shestakov   22 May 2000 20:08:51 
 Re: Outglook subj decoding   Aleksey Barabanov   22 May 2000 21:38:50 
 Re: Outglook subj decoding   yurik shestakov   22 May 2000 23:07:14 
 Re: Outglook subj decoding   Aleksey Barabanov   23 May 2000 00:50:57 
 Re: Outglook subj decoding   vitus@ice.ru   23 May 2000 12:59:44 
 Re: Outglook subj decoding   Aleksey Barabanov   23 May 2000 21:20:22 
Архивное /ru.perl/1340460b4fceb.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional