Encode::Unicode::UTF7 -- UTF-7 编码
use Encode qw/encode decode/;
$utf7 = encode("UTF-7", $utf8);
$utf8 = decode("UTF-7", $ucs2);
此模块实现了 RFC 2152 中记录的 UTF-7 编码。UTF-7,顾名思义,是 UTF-16BE 的 7 位重新编码版本。它旨在 MTA 安全,并被期望成为通过邮件交换 Unicode 邮件的标准方式。但随着 UTF-8 和 8 位兼容 MTA 的出现,UTF-7 几乎不再使用。
由于这个原因,Encode 直到 1.95 版本才支持 UTF-7。但 Gisle Aas 的模块 Unicode::String 为不支持 utf8 的 Perl 添加了 Unicode 支持,它支持 UTF-7,添加了 UTF-7 支持,因此 Encode 可以 100% 取代 Unicode::String。
但是,当您想要为邮件和网页编码 Unicode 时,除非您确定您的收件人和读者可以处理它,否则不要使用 UTF-7。如今很少有 MUA 和 WWW 浏览器支持它(只有 Mozilla 似乎支持它)。在一般情况下,请使用 UTF-8 作为消息正文,使用 MIME-Header 作为标题。
Encode,Encode::Unicode,Unicode::String
RFC 2781 http://www.ietf.org/rfc/rfc2152.txt