Yasutaka Kato 加藤泰孝
<email:y.kato@personal.email.ne.jp>
<email:ykato-ind@umin.ac.jp>
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
最小1最大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 = <see [RFC822] "fields" and [MIME1] "body-part">
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 = <ISO 2022 ESC, escape> ; ( 33, 27.)
SI = <ISO 2022 SI, shift-in> ; ( 17, 15.)
SO = <ISO 2022 SO, shift-out> ; ( 16, 14.)
CR = <ASCII CR, carriage return> ; ( 15, 13.)
LF = <ASCII LF, linefeed> ; ( 12, 10.)
one-of-94 = <any one of 94 values> ; (41-176, 33.-126.)
7BIT = <any 7-bit value> ; ( 0-177, 0.-127.)
single-byte-char = <any 7BIT, including bare CR & bare LF, but NOT
including CRLF, and not including ESC, SI, SO>
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 <lunde@adobe.com>, "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]