Токены encoded-word
(согласно RFC 2047 ) могут встречаться в значениях некоторых заголовков. Они анализируются следующим образом:
=?<charset>?<encoding>?<data>?=
В этом случае кодировка - это UTF-8, кодировка - B
, что означает base64 (другой параметр - Q
, что означает Quoted Printable).
Чтобы прочитать его, сначала декодируйте base64, а затем обрабатывайте его как символы UTF-8.
Также ознакомьтесь с различными документами RFC по Интернет-почте для получения более подробной информации, в основном RFC 2047 .
Поскольку вы используете Perl, Encode :: MIME :: Header может быть полезен:
1024 * СИНТАКСИС *
use Encode qw/encode decode/;
$utf8 = decode('MIME-Header', $header);
$header = encode('MIME-Header', $utf8);
РЕЗЮМЕ
Этот модуль реализует Mime RFC 2047
Кодировка заголовка. Есть 3 варианта
кодирование имен; MIME-заголовок, MIME-B
и MIME-Q. Разница в том,
описано ниже
decode() encode()
MIME-Header Both B and Q =?UTF-8?B?....?=
MIME-B B only; Q croaks =?UTF-8?B?....?=
MIME-Q Q only; B croaks =?UTF-8?Q?....?=