1 |
#?SuikaWiki/0.9
|
2 |
[1] Message::* perl modules の charset
|
3 |
周りの界面はぐちゃぐちゃで、さぱーり分からない状態です。
|
4 |
Perl 5.8 記念 byte 依存 code 掃討フェア(謎)の一貫として、ついでにこのあたりの界面を整理したいとおもてます。 --[[わかば]]
|
5 |
(2002.10.26)
|
6 |
|
7 |
*方針
|
8 |
-[2] まだ perl 5.8 (or utf8) には依存しない。
|
9 |
-内部コードと外部コード
|
10 |
--[3] 内部コード (モジュール内部で文字列を保管するときの符号) は任意, 外部コード (入出力時の符号) は8ビットのうち左半分が ASCII であるものか、 UTF-8 (perl 5.8 utf8 文字列) とする。
|
11 |
--[4] 内部コードに変換できないオクテット列は可能な限り charset 札つきのオクテット列として扱う。
|
12 |
--[5] 内外コード変換は Message::MIME::Charset が担当する。実際の処理は M::M::C::* を通して [[Encode]] など外部モジュールに任せる。
|
13 |
-文字コードの判断
|
14 |
--[6] [[MIME]] などの文字コード情報があるときは、これを使う。
|
15 |
--[7] [[M$]] 製 [[MUA]] など特定の条件下で文字コード情報の解釈を変更する。 (出力は規格に照らして正当なものにする。)
|
16 |
--[8] 文字コード情報が無い時には既定の文字コードとみなす。
|
17 |
|
18 |
*オプションの界面
|
19 |
|
20 |
$object->{option}->... の charset 関係のもの:
|
21 |
-{charset}->
|
22 |
--{input} 入力既定 charset 名 (:= charset-name)
|
23 |
--{output} 出力既定 charset 名 (:= charset-name / undef)
|
24 |
-{quoted_string}-> ([[quoted-string]] があるモジュールで)
|
25 |
--{use_encoded_word} [[encoded-word]] を解釈するか (:= 1/0)
|
26 |
--{output_encoded_word} encoded-word を出力するか (:= 1/0)
|
27 |
-{value}-> (parameter の value について)
|
28 |
--{use_encoded_word} encoded-word を解釈するか (:= 1/0)
|
29 |
--{output_encoded_word} encoded-word を出力するか (:= 1/0)
|