が原著です。 翻訳版は、翻訳からくる間違いがあり得ます Yasutaka Kato 加藤泰孝 ---------------------------------------------------------------------- 参照サイト: o http://www.vector.co.jp/soft/dl/data/prog/s0115841.html [文字コードの国際規格について] タブ=8のUNIXテキスト文書code_txt.gzpです (解説)。 o http://shakosv.sk.tsukuba.ac.jp/jdoc/Netnews/JUNET-no-tebiki/J.6.3 [JUNET での漢字の取り扱い] (fj.guide.general) o http://www.mew.org/Newsletters/ [Newsletters]のASCII・ISO 2022 o http://www.ed.kanazawa-u.ac.jp/~iwasaki/Tips/tips.html [Tips for E-Mail]の「文字コードについて」から ---------------------------------------------------------------------- rfc1468 Network Working Group J. Murai Request for Comments: 1468 Keio University M. Crispin Panda Programming E. van der Poel June 1993 Japanese Character Encoding for Internet Messages インターネットメッセージでの日本語文字コード化 この覚書の位置付け この覚書はインターネット・コミュニティ (交流社会) のための情報を提供しま す。インターネット標準を特定していません。この覚書の再配布に制限はありま せん。 はじめに この文書は、電子メール[RFC 822]と幾つかの日本語ネットワーク上でのネット ワークニュース[RFC 1036]のメッセージで使われるコード化を記載しています。 最初JUNET [JUNET]で特定され使用されました。今やこのコード化は日本語IPコ ミュニティで広く使用されています。 このコード化に付けられた名前は"ISO-2022-JP"で、MIMEヘッダーの "charset" パラメーター領域で使用されることを意図しています (参照 [MIME1] and [MIME2])。 説明 テキストはASCII [ASCII]ではじまり、エスケープシーケンスで日本語文字に切 り替えます。例えば、エスケープシーケンス ESC $ B (三バイト・十六進法値: 1B 24 42) は、このエスケープシーケンスに続くバイトは日本語文字で、各々二 バイトにコード化されます。ASCIIへ戻る切り替えは、エスケープシーケンス ESC ( B が使われます。 以下の表は、ISO-2022-JPメッセージで使用されるエスケープシーケンスと文字 セットを与えています。ISOREG 番号はISO登録[ISOREG]の登録番号です。 Esc Seq Character Set ISOREG ESC ( B ASCII 6 ESC ( J JIS X 0201-1976 ("Roman" set) 14 ESC $ @ JIS X 0208-1978 42 ESC $ B JIS X 0208-1983 87 JIS X 0208は、名前変更がされるまでは、JIS C 6226と言われていたことに 注意してください。 Murai, Crispin & van der Poel [Page 1] RFC 1468 Japanese Character Encoding for Internet Messages June 1993 on March 1st, 1987に、同じようにJIS C 6220はJIS X 0201と改名させられまし た。 JIS X 0201 [JISX0201]の "Roman" 文字セットは、backslash (/) と tilde (~) を除外したASCIIと同じです。バックスラッシュは円記号・ティルダはオーバー ラインに置き換えられています。このセットは、ISO 646 [ISO646]の日本的命名 法です。 JIS X 0208 [JISX0208] 文字セットは、Kanji・ Hiragana・Katakana とその他 の幾つかのシンボルと文字記号からなっています。各文字は二バイトになりま す。 JIS日本語表記文字セットについてのより詳しいことは、[JISX0201] and [JISX0208]を参照してください。エスケープシーケンスについてのさらなる情報 については、[ISO2022] と [ISOREG] を見てください。 オンラインにJIS X 0208 文字がある場合、行の終 (すなわちCRLFの前) ASCIIも しくはJIS X 0201の"Roman"セットに切り替えなければなりません。これは、次 の行が直前の行の終の前で切り替えられた文字セットではじますことを意味しま す。 また、テキストはASCIIで終わらなければなりません。 その他の制限は書式構文で以下にあげてあります: 書式構文 ここで使用している表記的な規約は、RFC 822 [RFC 822]で使用されている ものと同じです。 * (アスタリスク) 規約は以下のようになります: l*m something 最小l最大mの「何か」と意味し、既定値はそれぞれ1と無限大です。 message = headers 1* ( CRLF *single-byte-char *segment single-byte-seq *single-byte-char ) ; see also [MIME1] "body-part" ; note: must end in ASCII headers = segment = single-byte-segment / double-byte-segment single-byte-segment = single-byte-seq 1*single-byte-char Murai, Crispin & van der Poel [Page 2] RFC 1468 Japanese Character Encoding for Internet Messages June 1993 double-byte-segment = double-byte-seq 1* ( one-of-94 one-of-94 ) single-byte-seq = ESC "(" ( "B" / "J" ) double-byte-seq = ESC "$" ( "@" / "B" ) CRLF = CR LF ; ( Octal, Decimal.) ESC = ; ( 33, 27.) SI = ; ( 17, 15.) SO = ; ( 16, 14.) CR = ; ( 15, 13.) LF = ; ( 12, 10.) one-of-94 = ; (41-176, 33.-126.) 7BIT = ; ( 0-177, 0.-127.) single-byte-char = MIMEでの配慮 JUNET 文字コード化に与えられて名前は "ISO-2022-JP" です。これはMIME メッ セージでの使用を意図してしていて、以下のようになります: Content-Type: text/plain; charset=iso-2022-jp ISO-2022-JP コード化は、既に7ビット書式になっていますので、 Content-Transfer-Encoding ヘッダーを使用する必要はありません。Base64 も しくは Quoted-Printable符号化は現在のJUNETソフトウェアーでメッセージを判 読できないものとして表示することに注意してください。 ISO-2022-JP もMIMEパート2ヘッダーで使用されます。"B"符号化が ISO-2022-JP テキストで使用されるべきです。 背景情報 JUNETコード化はJUNETユーザーのガイドに記載されました[JUNET] (JUNET Riyou No Tebiki Dai Ippan)。 このコード化は、4/1 (詳細は [ISO2022] を参照) によって発表された ISO 2022の特殊な使用法に基づいています。 Murai, Crispin & van der Poel [Page 3] RFC 1468 Japanese Character Encoding for Internet Messages June 1993 しかし、この発表では普通に使われるエスケープシーケンスは、IS0-2022-jp メッセージに含まれません。 JIS X 0201のKanaセットは、ISO-2022-JPメッセージで使用されません。 以前、JUNETメッセージのエスケープシーケンス ESC (H を間違って使うシステ ムもありました。このエスケープシーケンスは公式には Swedish 文字セット [ISOREG]として登録されており、ISO-2022-JP メッセージでは使用すべきではあ りません。 システムによっては、ESC ( B と ESC ( J もしくは ESC $ @ と ESC $ Bの表示 上の区別をしません。しかし別のシステムにメッセージを伝える場合エスケープ シーケンスは決して変更すべきではありません。 利用者する人 (装備でなく) は、行を80もしくは75 (位) 表示列以内にするよう に努めるべきで、例がいてきに各行のはじめに">"を挿入することは許されてい ます。各JIS X 0208 文字は二列を取り、エスケープシーケンスは如何なる列も とりません。手段提供ではJIS X 0208文字は二バイトを取り表示などでは真ん中 でバックラインに分離されるべきではないことに気付きます。 JIS X 0208 標準は 1990年に改訂され、テーブルの後ろに二つの文字が追加され ました。ISO 2022 は改訂された文字の使用を示唆するために特別な追加的なエ スケープシーケンスを特定しましたが、二つの文字が1990年IS X 0208に加えら れたとはいえISO-2022-JPテキストでのこの特別なエスケープシーケンスの使用 をここでは示唆 (指定) していません。 PC コード・FTP装備場所といった日本語文字コード化についてのより詳しい情報 は"Electronic Handling of Japanese Text" [JPN.INF]をご覧下さい。 参照資料 [ASCII] American National Standards Institute, "Coded character set -- 7-bit American national standard code for information interchange", ANSI X3.4-1986. [ISO646] International Organization for Standardization (ISO) , "Information technology -- ISO 7-bit coded character set for information interchange", International Standard, Ref. No. ISO/IEC 646:1991. [ISO2022] International Organization for Standardization (ISO) , "Information processing -- ISO 7-bit and 8-bit coded character sets Murai, Crispin & van der Poel [Page 4] RFC 1468 Japanese Character Encoding for Internet Messages June 1993 -- Code extension techniques", International Standard, Ref. No. ISO 2022-1986 (E) . [ISOREG] International Organization for Standardization (ISO) , "International Register of Coded Character Sets To Be Used With Escape Sequences". [JISX0201] Japanese Standards Association, "Code for Information Interchange", JIS X 0201-1976. [JISX0208] Japanese Standards Association, "Code of the Japanese graphic character set for information interchange", JIS X 0208-1978, -1983 and -1990. [JPN.INF] Ken R. Lunde , "Electronic Handling of Japanese Text", March 1992, msi.umn.edu (128.101.24.1) :pub/lunde/japan[123].inf [JUNET] JUNET Riyou No Tebiki Sakusei Iin Kai (JUNET User's Guide Drafting Committee) , "JUNET Riyou No Tebiki (Dai Ippan) " ("JUNET User's Guide (First Edition) ") , February 1988. [MIME1] Borenstein N., and N. Freed, "MIME (Multipurpose Internet Mail Extensions) : Mechanisms for Specifying and Describing the Format of Internet Message Bodies", RFC 1341, Bellcore, Innosoft, June 1992. [MIME2] Moore, K., "Representation of Non-ASCII Text in Internet Message Headers", RFC 1342, University of Tennessee, June 1992. [RFC822] Crocker, D., "Standard for the Format of ARPA Internet Text Messages", STD 11, RFC 822, UDEL, August 1982. [RFC1036] Horton M., and R. Adams, "Standard for Interchange of USENET Messages", RFC 1036, AT&T Bell Laboratories, Center for Seismic Studies, December 1987. 謝辞 Many people assisted in drafting this document. The authors wish to thank in particular Akira Kato, Masahiro Sekiguchi and Ken'ichi Handa. 安全性について考慮 安全性問題はこの覚書では議論されていません。 Murai, Crispin & van der Poel [Page 5] RFC 1468 Japanese Character Encoding for Internet Messages June 1993 Authors' Addresses Jun Murai Keio University 5322 Endo, Fujisawa Kanagawa 252 Japan Fax: +81 466 49 1101 EMail: jun@wide.ad.jp Mark Crispin Panda Programming 6158 Lariat Loop NE Bainbridge Island, WA 98110-2098 USA Phone: +1 206 842 2385 EMail: MRC@PANDA.COM Erik M. van der Poel A-105 Park Avenue 4-4-10 Ohta, Kisarazu Chiba 292 Japan Phone: +81 438 22 5836 Fax: +81 438 22 5837 EMail: erik@poel.juice.or.jp Murai, Crispin & van der Poel [Page 6]