shell bypass 403

GrazzMean Shell

Uname: Linux web3.us.cloudlogin.co 5.10.226-xeon-hst #2 SMP Fri Sep 13 12:28:44 UTC 2024 x86_64
Software: Apache
PHP version: 8.1.31 [ PHP INFO ] PHP os: Linux
Server Ip: 162.210.96.117
Your Ip: 3.22.75.216
User: edustar (269686) | Group: tty (888)
Safe Mode: OFF
Disable Function:
NONE

name : POD2::JA::MIME::Charset.3pm
.\" Automatically generated by Pod::Man 4.11 (Pod::Simple 3.35)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings.  \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote.  \*(C+ will
.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
.    ds -- \(*W-
.    ds PI pi
.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
.    ds L" ""
.    ds R" ""
.    ds C` ""
.    ds C' ""
'br\}
.el\{\
.    ds -- \|\(em\|
.    ds PI \(*p
.    ds L" ``
.    ds R" ''
.    ds C`
.    ds C'
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\"
.\" If the F register is >0, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD.  Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.\"
.\" Avoid warning from groff about undefined register 'F'.
.de IX
..
.nr rF 0
.if \n(.g .if rF .nr rF 1
.if (\n(rF:(\n(.g==0)) \{\
.    if \nF \{\
.        de IX
.        tm Index:\\$1\t\\n%\t"\\$2"
..
.        if !\nF==2 \{\
.            nr % 0
.            nr F 2
.        \}
.    \}
.\}
.rr rF
.\" ========================================================================
.\"
.IX Title "POD2::JA::MIME::Charset 3"
.TH POD2::JA::MIME::Charset 3 "2017-04-07" "perl v5.26.3" "User Contributed Perl Documentation"
.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
MIME::Charset~[ja] \- MIME のためのキャラクタセット情報
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
.Vb 1
\&    use MIME::Charset:
\&
\&    $charset = MIME::Charset\->new("euc\-jp");
.Ve
.PP
キャラクタセット情報の取得:
.PP
.Vb 4
\&    $benc = $charset\->body_encoding; # 例 "Q"
\&    $cset = $charset\->as_string; # 例 "US\-ASCII"
\&    $henc = $charset\->header_encoding; # 例 "S"
\&    $cset = $charset\->output_charset; # 例 "ISO\-2022\-JP"
.Ve
.PP
テキストデータの変換:
.PP
.Vb 6
\&    ($text, $charset, $encoding) =
\&        $charset\->header_encode(
\&           "\exc9\exc2\exc5\exaa\exc0\exde\exc3\exef\exc5\exaa".
\&           "\exc7\exd1\exca\exaa\exbd\exd0\exce\excf\exb4\exef",
\&           Charset => \*(Aqeuc\-jp\*(Aq);
\&    # ...例えば (<変換ずみ文字列>, "ISO\-2022\-JP", "B") を返す。
\&
\&    ($text, $charset, $encoding) =
\&        $charset\->body_encode(
\&            "Collectioneur path\exe9tiquement ",
\&            Charset => \*(Aqlatin1\*(Aq);
\&    # ...例えば (<元の文字列>, "ISO\-8859\-1", "QUOTED\-PRINTABLE") を返す。
\&
\&    $len = $charset\->encoded_header_len(
\&        "Perl\exe8\exa8\ex80\exe8\exaa\ex9e",
\&        Charset => "utf\-8",
\&        Encoding => "b");
\&    # ...例えば 28 を返す。
.Ve
.PP
モジュール既定値の操作:
.PP
.Vb 3
\&    MIME::Charset::alias("csEUCKR", "euc\-kr");
\&    MIME::Charset::default("iso\-8859\-1");
\&    MIME::Charset::fallback("us\-ascii");
.Ve
.PP
非OO関数 (近い将来に廃止):
.PP
.Vb 1
\&    use MIME::Charset qw(:info);
\&
\&    $benc = body_encoding("iso\-8859\-2"); # "Q"
\&    $cset = canonical_charset("ANSI X3.4\-1968"); # "US\-ASCII"
\&    $henc = header_encoding("utf\-8"); # "S"
\&    $cset = output_charset("shift_jis"); # "ISO\-2022\-JP"
\&
\&    use MIME::Charset qw(:trans);
\&
\&    ($text, $charset, $encoding) =
\&        header_encode(
\&           "\exc9\exc2\exc5\exaa\exc0\exde\exc3\exef\exc5\exaa".
\&           "\exc7\exd1\exca\exaa\exbd\exd0\exce\excf\exb4\exef",
\&           "euc\-jp");
\&    # ...(<変換されたテキスト>, "ISO\-2022\-JP", "B") を返す。
\&
\&    ($text, $charset, $encoding) =
\&        body_encode(
\&            "Collectioneur path\exe9tiquement ".
\&            "\exe9clectique de d\exe9chets",
\&            "latin1");
\&    # ...(<元のテキスト>, "ISO\-8859\-1", "QUOTED\-PRINTABLE") を返す。
\&
\&    $len = encoded_header_len(
\&        "Perl\exe8\exa8\ex80\exe8\exaa\ex9e", "b", "utf\-8"); # 28
.Ve
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
MIME::Charset は、インターネット上での \s-1MIME\s0
メッセージに用いるキャラクタセットの情報を提供する。
.SS "定義"
.IX Subsection "定義"
\&\fBキャラクタセット\fR とは、MIME での ``character set'' のことで、
オクテットの列を文字の列に変換する方法を指す。
これは、ISO/IEC における ``符号化文字集合'' (\s-1CCS\s0) と
``文字符号化法'' (\s-1CES\s0) の両方の概念を包含する。
.PP
\&\fBエンコーディング\fR とは、MIME でのそれのことで、
メッセージ本体やメッセージヘッダ本体を印字可能な
US-ASCII 文字の列として表現する方法を指す。
.SS "コンストラクタ"
.IX Subsection "コンストラクタ"
.ie n .IP "$charset = MIME::Charset\->new([\s-1CHARSET\s0 [, \s-1OPTS\s0]])" 4
.el .IP "\f(CW$charset\fR = MIME::Charset\->new([\s-1CHARSET\s0 [, \s-1OPTS\s0]])" 4
.IX Item "$charset = MIME::Charset->new([CHARSET [, OPTS]])"
キャラクタセットオブジェクトを作成して返す。
.Sp
\&\s-1OPTS\s0 には次の対を指定できる。
\&\fB\s-1NOTE\s0\fR:
Unicode/マルチバイト対応が有効になっていないとき (\*(L"\s-1USE_ENCODE\*(R"\s0 参照) は、
変換を行わないので、次のオプションは効果を持たない。
.RS 4
.IP "Mapping => \s-1MAPTYPE\s0" 4
.IX Item "Mapping => MAPTYPE"
キャラクタセット名に対して実際に使うマッピングの拡張をするかどうか。
\&\f(CW"EXTENDED"\fR は拡張マッピングを使う。
\&\f(CW"STANDARD"\fR は標準化されている厳密なマッピングを使う。
既定は \f(CW"EXTENDED"\fR。
.RE
.RS 4
.RE
.SS "キャラクタセット情報の取得"
.IX Subsection "キャラクタセット情報の取得"
.ie n .IP "$charset\->body_encoding" 4
.el .IP "\f(CW$charset\fR\->body_encoding" 4
.IX Item "$charset->body_encoding"
.PD 0
.IP "body_encoding \s-1CHARSET\s0" 4
.IX Item "body_encoding CHARSET"
.PD
\&\s-1CHARSET\s0 のメッセージ本体で推奨される伝送エンコーディングを取得する。
.Sp
返値は \f(CW"B"\fR (\s-1BASE64\s0)、\f(CW"Q"\fR (\s-1QUOTED\-PRINTABLE\s0)、\f(CW"S"\fR (どちらか短いほう)、
\&\f(CW\*(C`undef\*(C'\fR (伝送エンコードしなくてよい \-\-\- 7BIT か 8BIT)
のいずれか。これはメッセージヘッダのエンコーディングとは違うこともある。
.ie n .IP "$charset\->as_string" 4
.el .IP "\f(CW$charset\fR\->as_string" 4
.IX Item "$charset->as_string"
.PD 0
.IP "canonical_charset \s-1CHARSET\s0" 4
.IX Item "canonical_charset CHARSET"
.PD
キャラクタセットの正規の名前を取得する。
.ie n .IP "$charset\->decoder" 4
.el .IP "\f(CW$charset\fR\->decoder" 4
.IX Item "$charset->decoder"
キャラクタセットを Unicode に復号するのに使う
\&\*(L"Encode::Encoding\*(R" オブジェクトを返す。
キャラクタセットが指定されていなかったか、当モジュールの知らないキャラクタセットであった場合は、undef 値を返す。
.ie n .IP "$charset\->dup" 4
.el .IP "\f(CW$charset\fR\->dup" 4
.IX Item "$charset->dup"
キャラクタセットオブジェクトを複写する。
.ie n .IP "$charset\->encoder([\s-1CHARSET\s0])" 4
.el .IP "\f(CW$charset\fR\->encoder([\s-1CHARSET\s0])" 4
.IX Item "$charset->encoder([CHARSET])"
インターネット上の \s-1MIME\s0
メッセージで使うことを推奨される互換キャラクタセットで符号化するのに使う
\&\*(L"Encode::Encoding\*(R" オブジェクトを返す。
.Sp
\&\s-1CHARSET\s0 引数を指定した場合、$charset オブジェクトの符号化器
(および出力キャラクタセット名) を、CHARSET のそれに置き換える。
つまり、$charset オブジェクトは元のキャラクタセットから新たな
\&\s-1CHARSET\s0 への変換器となる。
.ie n .IP "$charset\->header_encoding" 4
.el .IP "\f(CW$charset\fR\->header_encoding" 4
.IX Item "$charset->header_encoding"
.PD 0
.IP "header_encoding \s-1CHARSET\s0" 4
.IX Item "header_encoding CHARSET"
.PD
\&\s-1CHARSET\s0 のメッセージヘッダで推奨されるエンコーディング法を取得する。
.Sp
返値は \f(CW"B"\fR、\f(CW"Q"\fR、\f(CW"S"\fR (どちらか短くなるほう)、
\&\f(CW\*(C`undef\*(C'\fR (エンコードしなくてよい)
のいずれか。これはメッセージ本体のエンコーディングとは違うこともある。
.ie n .IP "$charset\->output_charset" 4
.el .IP "\f(CW$charset\fR\->output_charset" 4
.IX Item "$charset->output_charset"
.PD 0
.IP "output_charset \s-1CHARSET\s0" 4
.IX Item "output_charset CHARSET"
.PD
指定した \s-1CHARSET\s0 と互換で、インターネット上の
\&\s-1MIME\s0 メッセージで使うことを推奨されるキャラクタセット名を
(当モジュールが知っていれば) 取得する。
.Sp
Unicode/マルチバイト対応が有効になっていないとき (\*(L"\s-1USE_ENCODE\*(R"\s0 参照) は、
この関数は単に \*(L"canonical_charset\*(R" の結果を返す。
.SS "テキストデータの変換"
.IX Subsection "テキストデータの変換"
.ie n .IP "$charset\->body_encode(\s-1STRING\s0 [, \s-1OPTS\s0])" 4
.el .IP "\f(CW$charset\fR\->body_encode(\s-1STRING\s0 [, \s-1OPTS\s0])" 4
.IX Item "$charset->body_encode(STRING [, OPTS])"
.PD 0
.IP "body_encode \s-1STRING, CHARSET\s0 [, \s-1OPTS\s0]" 4
.IX Item "body_encode STRING, CHARSET [, OPTS]"
.PD
\&\s-1STRING\s0 を (必要なら) 変換したデータと、
メッセージ本体で推奨される伝送エンコーディングを取得する。
\&\s-1CHARSET\s0 は \s-1STRING\s0 を符号化しているキャラクタセット。
.Sp
\&\s-1OPTS\s0 には以下の対を指定できる。
\&\fB\s-1NOTE\s0\fR:
Unicode/マルチバイト対応が有効になっていないとき (\*(L"\s-1USE_ENCODE\*(R"\s0 参照) は、
変換を行わないので、以下のオプションは効果を持たない。
.RS 4
.IP "Detect7bit => \s-1YESNO\s0" 4
.IX Item "Detect7bit => YESNO"
\&\s-1CHARSET\s0 がないとき、7ビットのキャラクタセットを自動認識しようとする。
既定は \f(CW"YES"\fR。
.IP "Replacement => \s-1REPLACEMENT\s0" 4
.IX Item "Replacement => REPLACEMENT"
エラー処理法の指定。\*(L"エラー処理\*(R" 参照。
.RE
.RS 4
.Sp
3要素のリスト (\fI変換ずみの文字列\fR, \fI出力のキャラクタセット\fR,
\&\fI伝送エンコーディング\fR) が返る。
\&\fI伝送エンコーディング\fR は \f(CW"BASE64"\fR、\f(CW"QUOTED\-PRINTABLE"\fR、
\&\f(CW"7BIT"\fR、\f(CW"8BIT"\fR のいずれか。\fI出力のキャラクタセット\fR が決定できず、
\&\fI変換ずみの文字列\fR が ASCII以外のバイトを含むときは、
\&\fI出力のキャラクタセット\fR は \f(CW\*(C`undef\*(C'\fR、\fI伝送エンコーディング\fR は \f(CW"BASE64"\fR
となる。
\&\fI出力のキャラクタセット\fR が \f(CW"US\-ASCII"\fR
となるのは、文字列が ASCII以外のバイトを含まないときに限る。
.RE
.ie n .IP "$charset\->decode(\s-1STRING\s0 [,CHECK])" 4
.el .IP "\f(CW$charset\fR\->decode(\s-1STRING\s0 [,CHECK])" 4
.IX Item "$charset->decode(STRING [,CHECK])"
\&\s-1STRING\s0 を Unicode 文字列に復号する。
.Sp
\&\fB\s-1NOTE\s0\fR:
Unicode/マルチバイト対応が有効になっていないとき (\*(L"\s-1USE_ENCODE\*(R"\s0 参照) は、
この機能を実行すると死ぬ。
.IP "detect_7bit_charset \s-1STRING\s0" 4
.IX Item "detect_7bit_charset STRING"
文字列 \s-1STRING\s0 を符号化している7 ビットキャラクタセットを推測する。
\&\s-1STRING\s0 が8ビットのバイトを含むときは \f(CW\*(C`undef\*(C'\fR を返す。
そうでないとき、キャラクタセットが不明なら初期キャラクタセットを返す。
.ie n .IP "$charset\->encode(\s-1STRING\s0 [, \s-1CHECK\s0])" 4
.el .IP "\f(CW$charset\fR\->encode(\s-1STRING\s0 [, \s-1CHECK\s0])" 4
.IX Item "$charset->encode(STRING [, CHECK])"
\&\s-1STRING\s0 (Unicode 文字列または普通の文字列) を、
元のキャラクタセットと互換でインターネット上の
\&\s-1MIME\s0 メッセージで使うことを推奨されるキャラクタセットを
(当モジュールが知っていれば) 使って、符号化する。
元のキャラクタセットと互換キャラクタセットが同じでも、
文字列を Unicode に復号してから符号化することに注意。
.Sp
\&\fB\s-1NOTE\s0\fR:
Unicode/マルチバイト対応が有効になっていないとき (\*(L"\s-1USE_ENCODE\*(R"\s0 参照) は、
この機能を実行すると死ぬ。
.ie n .IP "$charset\->encoded_header_len(\s-1STRING\s0 [, \s-1ENCODING\s0])" 4
.el .IP "\f(CW$charset\fR\->encoded_header_len(\s-1STRING\s0 [, \s-1ENCODING\s0])" 4
.IX Item "$charset->encoded_header_len(STRING [, ENCODING])"
.PD 0
.IP "encoded_header_len \s-1STRING, ENCODING, CHARSET\s0" 4
.IX Item "encoded_header_len STRING, ENCODING, CHARSET"
.PD
\&\s-1STRING\s0 をメッセージヘッダとしてエンコードしたときの長さ
(行折りはしないとして) を取得する。
.Sp
\&\s-1ENCODING\s0 は \f(CW"B"\fR、\f(CW"Q"\fR、\f(CW"S"\fR
(\f(CW"B"\fR と \f(CW"Q"\fR のうち短くなるほう) のいずれか。
.ie n .IP "$charset\->header_encode(\s-1STRING\s0 [, \s-1OPTS\s0])" 4
.el .IP "\f(CW$charset\fR\->header_encode(\s-1STRING\s0 [, \s-1OPTS\s0])" 4
.IX Item "$charset->header_encode(STRING [, OPTS])"
.PD 0
.IP "header_encode \s-1STRING, CHARSET\s0 [, \s-1OPTS\s0]" 4
.IX Item "header_encode STRING, CHARSET [, OPTS]"
.PD
\&\s-1STRING\s0 を (必要なら) 変換したデータと、
メッセージヘッダで推奨されるエンコーディング法を取得する。
\&\s-1CHARSET\s0 は \s-1STRING\s0 を符号化しているキャラクタセット。
.Sp
\&\s-1OPTS\s0 には以下の対を指定できる。
\&\fB\s-1NOTE\s0\fR:
Unicode/マルチバイト対応が有効になっていないとき (\*(L"\s-1USE_ENCODE\*(R"\s0 参照) は、
変換を行わないので、以下のオプションは効果を持たない。
.RS 4
.IP "Detect7bit => \s-1YESNO\s0" 4
.IX Item "Detect7bit => YESNO"
\&\s-1CHARSET\s0 がないとき、7ビットのキャラクタセットを自動認識しようとする。
既定は \f(CW"YES"\fR。
.IP "Replacement => \s-1REPLACEMENT\s0" 4
.IX Item "Replacement => REPLACEMENT"
エラー処理法の指定。\*(L"エラー処理\*(R" 参照。
.RE
.RS 4
.Sp
3要素のリスト (\fI変換ずみの文字列\fR, \fI出力のキャラクタセット\fR,
\&\fIエンコーディング法\fR) が返る。
\&\fIエンコーディング法\fR は \f(CW"B"\fR、\f(CW"Q"\fR、\f(CW\*(C`undef\*(C'\fR (エンコードしなくてよい)
のいずれか。
\&\fI出力のキャラクタセット\fR が決定できず、\fI変換ずみの文字列\fR
が ASCII以外のバイトを含むときは、\fI出力のキャラクタセット\fR は \f(CW"8BIT"\fR
(これはキャラクタセットの名前では\fIなく\fR、符号化が不可能なデータを表す特殊値)
で \fIエンコーディング法\fR は \f(CW\*(C`undef\*(C'\fR (エンコードするべきではない) となる。
\&\fI出力のキャラクタセット\fR が \f(CW"US\-ASCII"\fR
となるのは、文字列が ASCII以外のバイトを含まないときに限る。
.RE
.ie n .IP "$charset\->undecode(\s-1STRING\s0 [,CHECK])" 4
.el .IP "\f(CW$charset\fR\->undecode(\s-1STRING\s0 [,CHECK])" 4
.IX Item "$charset->undecode(STRING [,CHECK])"
Unicode 文字列 string を、
\&\f(CW$charset\fR の入力キャラクタセットを使って文字列に変換する。
これは \f(CW\*(C`$charset\->decoder\->encode()\*(C'\fR と同等である。
.Sp
\&\fB\s-1NOTE\s0\fR:
Unicode/マルチバイト対応が有効になっていないとき (\*(L"\s-1USE_ENCODE\*(R"\s0 参照) は、
この機能を実行すると死ぬ。
.SS "モジュール既定値の操作"
.IX Subsection "モジュール既定値の操作"
.IP "alias \s-1ALIAS\s0 [, \s-1CHARSET\s0]" 4
.IX Item "alias ALIAS [, CHARSET]"
\&\*(L"canonical_charset\*(R" で正規名を決定するためのキャラクタセットの別名を取得/設定する。
.Sp
\&\s-1CHARSET\s0 があって偽でないとき、ALIAS が \s-1CHARSET\s0 の別名に登録される。
さもなければ、別名に変更はない。いずれの場合でも、
現在 \s-1ALIAS\s0 が登録されているキャラクタセットを返す。
.IP "default [\s-1CHARSET\s0]" 4
.IX Item "default [CHARSET]"
既定キャラクタセットを取得/設定する。
.Sp
\&\fB既定キャラクタセット\fRとは、
当モジュールで、処理のためのキャラクタセットが不明なときに用いるキャラクタセット。
当モジュールを利用するモジュールでは、
処理のためのキャラクタセットが不明なときや暗黙の既定値が必要なとき、
このキャラクタセットを使うことを推奨する。
これは既定では \f(CW"US\-ASCII"\fR。
.Sp
\&\s-1CHARSET\s0 があって偽でなければ、それを既定キャラクタセットに設定する。
さもなければ、既定キャラクタセットは変わらない。いずれの場合でも、
現在の既定キャラクタセットを返す。
.Sp
\&\fB\s-1NOTE\s0\fR: 既定キャラクタセットは変更する\fIべきではない\fR。
.IP "fallback [\s-1CHARSET\s0]" 4
.IX Item "fallback [CHARSET]"
予備キャラクタセットを取得/設定する。
.Sp
\&\fB予備キャラクタセット\fRとは、
当モジュールで、指定されたキャラクタセットでの変換が失敗し、
エラー処理法に \f(CW"FALLBACK"\fR が指定されていたときに用いるキャラクタセット。
当モジュールを利用するモジュールでは、
キャラクタセット変換が失敗するときに最終手段としてこのキャラクタセットを使ってもよい。
これは既定では \f(CW"UTF\-8"\fR。
.Sp
\&\s-1CHARSET\s0 があって偽でなければ、それを予備キャラクタセットに設定する。
\&\s-1CHARSET\s0 が \f(CW"NONE"\fR であれば、予備キャラクタセットを未定にする。
さもなければ、予備キャラクタセットは変わらない。いずれの場合でも、
現在の予備キャラクタセットを返す。
.Sp
\&\fB\s-1NOTE\s0\fR: 予備キャラクタセットに \f(CW"US\-ASCII"\fR を指定する価値は\fIある\fR。
変換の結果は、キャラクタセット情報がないときも可読となる。
.IP "recommended \s-1CHARSET\s0 [, \s-1HEADERENC, BODYENC\s0 [, \s-1ENCCHARSET\s0]]" 4
.IX Item "recommended CHARSET [, HEADERENC, BODYENC [, ENCCHARSET]]"
キャラクタセットの特性を取得/設定する。
.Sp
必須でない引数があってそのどれかが偽でなければ、
その引数で \s-1CHARSET\s0 の特性を設定する。さもなければ、特性は変わらない。
いずれの場合でも、CHARSET の現在の特性を 3 要素のリスト
(\s-1HEADERENC, BODYENC, ENCCHARSET\s0) として返す。
.Sp
\&\s-1HEADERENC\s0 はメッセージヘッダで推奨されるエンコーディング法。
\&\f(CW"B"\fR、\f(CW"Q"\fR、\f(CW"S"\fR (どちらか短くなるほう)、
\&\f(CW\*(C`undef\*(C'\fR (エンコードしなくてよい) を指定できる。
.Sp
\&\s-1BODYENC\s0 はメッセージ本体で推奨される伝送エンコーディング。
\&\f(CW"B"\fR、\f(CW"Q"\fR、\f(CW"S"\fR (どちらか短くなるほう)、\f(CW\*(C`undef\*(C'\fR (伝送エンコードしなくてよい) を指定できる。
.Sp
\&\s-1ENCCHARSET\s0 は、指定した \s-1CHARSET\s0 と互換で、インターネット上の
\&\s-1MIME\s0 メッセージで使うことを推奨されるキャラクタセット名。
変換が必要ない (または当モジュールが適当なキャラクタセットを知らない) ときは、
\&\s-1ENCCHARSET\s0 は \f(CW\*(C`undef\*(C'\fR。
.Sp
\&\fB\s-1NOTE\s0\fR: この関数の今後の版では、ほかにも必須でない引数をとれるようになるかもしれない
(たとえば、文字幅、行分割の挙動などについての属性)。
そのため、返値の形式も変わるかもしれない。個々の特性を取得するには
\&\*(L"header_encoding\*(R"、\*(L"body_encoding\*(R"、\*(L"output_charset\*(R" を使ってほしい。
.SS "定数"
.IX Subsection "定数"
.IP "\s-1USE_ENCODE\s0" 4
.IX Item "USE_ENCODE"
Unicode/マルチバイト対応フラグ。
Unicode とマルチバイトへの対応が有効になっているときは、空でない文字列が設定されている。
現在、このフラグは Perl 5.7.3 以降で空でなく、それより以前の Perl では空の文字列。
.SS "エラー処理"
.IX Subsection "エラー処理"
\&\*(L"body_encode\*(R" と \*(L"header_encode\*(R" の
\&\f(CW\*(C`Replacement\*(C'\fR オプションには以下のものを指定できる:
.ie n .IP """DEFAULT""" 4
.el .IP "\f(CW``DEFAULT''\fR" 4
.IX Item """DEFAULT"""
不正な文字を置き換え文字で置き換える。
\&\s-1UCM\s0 に基づく符号化器を持つキャラクタセットでは <subchar> を使うことがある。
.ie n .IP """FALLBACK""" 4
.el .IP "\f(CW``FALLBACK''\fR" 4
.IX Item """FALLBACK"""
\&\fI予備キャラクタセット\fR を使って \f(CW"DEFAULT"\fR 方式をやってみる
(\*(L"fallback\*(R" 参照)。
予備キャラクタセットが未定で変換がエラーを起こしたときは、
コードはエラーメッセージを出力して死ぬ。
.ie n .IP """CROAK""" 4
.el .IP "\f(CW``CROAK''\fR" 4
.IX Item """CROAK"""
コードはエラーメッセージを出力してすぐ死ぬ。
したがって、本当にエラーで死なせたくなければ
eval{} で致命的エラーを受け止めなければいけない。
\&\f(CW"STRICT"\fR でも同じ。
.ie n .IP """PERLQQ""" 4
.el .IP "\f(CW``PERLQQ''\fR" 4
.IX Item """PERLQQ"""
.PD 0
.ie n .IP """HTMLCREF""" 4
.el .IP "\f(CW``HTMLCREF''\fR" 4
.IX Item """HTMLCREF"""
.ie n .IP """XMLCREF""" 4
.el .IP "\f(CW``XMLCREF''\fR" 4
.IX Item """XMLCREF"""
.PD
Encode モジュールで定義している
\&\f(CW\*(C`FB_PERLQQ\*(C'\fR、\f(CW\*(C`FB_HTMLCREF\*(C'\fR、\f(CW\*(C`FB_XMLCREF\*(C'\fR
の方式を使う。
.IP "数値" 4
.IX Item "数値"
数値を指定することもできる。
詳細は \*(L"Handling Malformed Data\*(R" in Encode を見てほしい。
.PP
エラー処理法が指定されないか、上記以外のエラー処理法が指定されたときは、
\&\f(CW"DEFAULT"\fR とみなす。
.SS "設定ファイル"
.IX Subsection "設定ファイル"
オプションのパラメタの組み込み既定値は、設定ファイル
\&\fIMIME/Charset/Defaults.pm\fR で変更することができる。
詳しくは \fIMIME/Charset/Defaults.pm.sample\fR を読んでほしい。
.SH "VERSION"
.IX Header "VERSION"
\&\f(CW$VERSION\fR 変数を見てほしい。
.PP
このモジュールの開発版が
<http://hatuka.nezumi.nu/repos/MIME\-Charset/> にある。
.SS "非互換な変更"
.IX Subsection "非互換な変更"
.IP "1.001" 4
.IX Item "1.001"
.RS 4
.PD 0
.IP "\(bu" 4
.PD
\&\fBnew()\fR メソッドは \s-1CHARSET\s0 引数を指定しなくてもオブジェクトを返すようになった。
.RE
.RS 4
.RE
.IP "1.005" 4
.IX Item "1.005"
.RS 4
.PD 0
.IP "\(bu" 4
.PD
encoded-word に含まれる文字種を \s-1RFC 2047\s0 の 5 (3) 節のとおりにした。
\&\fBencoded_header_len()\fR メソッドの返値も変わる。
.RE
.RS 4
.RE
.IP "1.008.2" 4
.IX Item "1.008.2"
.RS 4
.PD 0
.IP "\(bu" 4
.PD
\&\fBbody_encoding()\fR メソッドも \f(CW"S"\fR を返せるようになった。
.IP "\(bu" 4
\&\fBbody_encode()\fR メソッドの \s-1UTF\-8\s0 に対する返値のエンコーディング要素は、
これまでのリリースでは \f(CW"BASE64"\fR に固定だったが、\f(CW"QUOTED\-PRINTABLE"\fR になることがある。
.RE
.RS 4
.RE
.SH "SEE ALSO"
.IX Header "SEE ALSO"
Multipurpose Internet Mail Extensions (\s-1MIME\s0).
.SH "AUTHOR"
.IX Header "AUTHOR"
Hatuka*nezumi \- \s-1IKEDA\s0 Soji <hatuka(at)nezumi.nu>
.SH "COPYRIGHT"
.IX Header "COPYRIGHT"
Copyright (C) 2006\-2017 Hatuka*nezumi \- \s-1IKEDA\s0 Soji.
This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.
© 2025 GrazzMean