1POD2::JA::Encode::MIME:U:sEenrcWCoorndtsr(i3b)uted PerlPDOoDc2u:m:eJnAt:a:tEinocnode::MIME::EncWords(3)
2
3
4
6 Encode::MIME::EncWords~[ja] - MIME の「B」・「Q」ヘッダエンコーディング
7 (代替案)
8
10 use Encode::MIME::EncWords;
11 use Encode qw/encode decode/;
12
13 # ヘッダデコードする。
14 $utf8 = decode('MIME-EncWords', $header);
15
16 # 初期のキャラクタセット (UTF-8) でヘッダエンコードする。
17 $header = encode('MIME-EncWords', $utf8);
18
19 # ほかのキャラクタセットでヘッダエンコードする。
20 Encode::MIME::EncWords->config(Charset => 'GB2312');
21 $header = encode('MIME-EncWords', $utf8);
22
24 このモジュールは、RFC 2047 に述べる MIME
25 のヘッダエンコーディングを実装している。
26 エンコーディングの名前には、みっつの変種と、
27 キャラクタセットに特化したひとつの簡易版がある。
28
29 エンコーディング名 encode() の結果 備考
30 ------------------------------------------------------------------
31 MIME-EncWords (B と Q を自動判別)
32 MIME-EncWords-B =?XXXX?B?...?= 初期値は UTF-8。
33 MIME-EncWords-Q =?XXXX?Q?...?= ,,
34 MIME-EncWords-ISO_2022_JP =?ISO-2022-JP?B?...?=
35
36 decode() の結果は、どのエンコーディングでも同じになる。
37
39 このモジュールは、Encode::MIME::Header コアモジュールが提供する
40 "MIME-*" エンコーディングの代替となることを意図している。
41 このモジュールの使いかたをよく知るためには、Encode を参照してほしい。
42
43 モジュール独自の機能
44 config(KEY => VALUE, ...);
45 クラスメソッド。 KEY => VALUE の対でオプションを設定する。
46 次のオプションが使える。
47
48 Charset
49 [encode] データ要素を変換するのに使うキャラクタセット。
50 初期値は "UTF-8"。 "MIME-EncWords-ISO_2022_JP" では
51 "ISO-2022-JP" に固定。
52
53 Detect7bit
54 [decode/encode] エンコードされていない部分の 7
55 ビットキャラクタセットを判別しようとする。 初期値は "YES"。
56
57 Field
58 [encode]
59 ヘッダフィールドの名前。エンコードされた結果の最初の行で、
60 これの長さが考慮される。 初期値は "undef"。
61
62 Mapping
63 [decode/encode]
64 キャラクタセットの名前に対して実際に使うマッピングを指定する。
65 初期値は "EXTENDED"。
66
67 MaxLineLen
68 [encode] 行の最大長 (改行を除く)。 初期値は 76。
69
70 Minimal
71 [encode] エンコーディングを最小限にするか否か。 初期値は
72 "YES"。
73
74 オプションの詳細については MIME::EncWords~[ja] を参照。
75
77 • MIME ヘッダエンコーディング用のエンコーディングモジュールは、
78 こみいったヘッダフィールドを簡単に作り出したり、
79 そこから望みの要素を取り出したりできる打ち出の小槌ではない。
80
81 アドレスヘッダフィールド (To:、From: など) をデコードするには、
82 まず mailbox-list を分解する。
83 そして、個々の要素をエンコーディングモジュールでデコードする。
84 これをエンコードするには、
85 今度は個々の要素をエンコーディングモジュールでエンコードする。
86 そして、エンコードした要素から mailbox-list を組み立てる。 mailbox-
87 list の組み立てや分解には、Mail::Address
88 のようなモジュールが使えるだろう。
89
90 • 行を LF ("\n") で区切る。 RFC5322
91 は、インターネットのメッセージでは行を CRLF ("\r\n")
92 で区切るとしている。
93
95 バグやバグのような動作は開発者に知らせてください。
96
97 CPAN Request Tracker:
98 <http://rt.cpan.org/Public/Dist/Display.html?Name=MIME-EncWords>.
99
101 $VERSION 変数を参照してほしい。
102
103 これは実験的なリリースである。仕様は近い将来、変わるかもしれない。
104
105 このパッケージの開発版が次の場所にある。
106 <http://hatuka.nezumi.nu/repos/MIME-EncWords/>。
107
109 Encode, Encode::MIME::Header, MIME::EncWords~[ja].
110
111 RFC 2047 MIME (Multipurpose Internet Mail Extensions) Part Three:
112 Message Header Extensions for Non-ASCII Text.
113
115 Hatuka*nezumi - IKEDA Soji <hatuka(at)nezumi.nu>
116
118 Copyright (C) 2011 Hatuka*nezumi - IKEDA Soji.
119
120 This program is free software; you can redistribute it and/or modify it
121 under the same terms as Perl itself.
122
123
124
125perl v5.38.0 2023-07-20POD2::JA::Encode::MIME::EncWords(3)