一早鈞豪再問,關於 E-Mail Header 的時候,就說,如果 E-mail 的格式有哪些?
- "名稱" <user@domain>
- 含有空白的名稱 <user@domain>
如果名稱有不是 ASCII 字元的話,將會需要進行編碼,編碼格式長得類似這樣
=?encoding?B?Base64EncodedMessage?=
=?encoding?Q?QPEncodedMessage?=
在 Perl 裡,有個很好用的 Module 叫做 Encode,他可以自己幫你處理,Encode 以及 MIME 編碼的問題,真是不錯~
摘要一下他的內容:
Parameter One | 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?....?= |
程式碼:
#! /usr/bin/perl
use Encode;
my $str = "測試中文字";
my $encenc = encode("MIME-Header", $str) . "\n";
my $encencB = encode("MIME-B", $str) . "\n";
my $encencQ = encode("MIME-Q", $str) . "\n";
print $encenc . $encencB . $encencQ ;
執行結果:
=?UTF-8?B?w6bCuMKsw6jCqcKmw6TCuMKtw6bClsKHw6XCrcKX?=
=?UTF-8?B?w6bCuMKsw6jCqcKmw6TCuMKtw6bClsKHw6XCrcKX?=
=?UTF-8?Q?=E6=B8=AC=E8=A9=A6=E4=B8=AD=E6=96=87=E5=AD=97?=
沒有留言:
張貼留言