|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Artem Chuprina 2:5020/371.32 26 May 2000 11:25:27 To : alekseybb@mtu-net.ru Subject : Re: Outglook subj decoding --------------------------------------------------------------------------------
>> Aleksey Barabanov <alekseybb@mtu-net.ru> wrote:
>> 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
amnr> Hе удержался от подробного цитирования.
amnr> Спасибо! Выглядит очень здорово. Hадеюсь, это доступно для включения в
amnr> приватный код ? ;)
Оно того не стоит. Без оставленного в качестве упражнения перекодирования
между чарсетами use MIME::Head (его всё равно надо use), а с таковым - ещё
писать и писать...
--
Счастливо!
Ран.
--- ifmail v.2.14.os-p7-tma3
* Origin: MemoNet (2:5020/371.32@fidonet)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/3473dcb8fdcb.html, оценка из 5, голосов 10
|