Y. Wei
AsiaInfo Services Inc.
Y. Zhang
Harvard Univ.
J. Li
Rice Univ.
J. Ding
AsiaInfo Services Inc.
Y. Jiang
Univ. of Maryland
August 1995
Network Working Group
Request for Comments: 1842
Category: Informational

ASCII Printable Characters-Based
Chinese Character Encoding
for Internet Messages

インターネット・メッセージのための
印字可能 ASCII 文字による中国語文字符号化法

このメモの位置づけ

このメモはインターネット・コミュニティーのために情報を提供するものである。 このメモではいかなる種類のインターネット標準も定めない。 このメモの配布に制限はない。

要旨

この文書では、インターネット上の電子メール [RFC822] やネットワーク・ニュース [RFC1036] で用いられる符号化法について説明する。 GB 2312 中国語テキストの 7 ビット表現法は、スタンフォード大学の Fung Fung Lee によって規定されたもので [Lee89]、各種プラットフォームのさまざまなソフトウェア・パッケージで実装されている (この符号化方法をサポートしている入手可能なソフトウェア・パッケージのリストについては付録を見よ)。 この符号化法はさらに、USENET ニュースグループ alt.chinese.text および chinese.* において、あるいはその他のさまざまなネットワーク・フォーラムにおいてテストないし利用され、かなりの成功を収めている。 将来、この符号化方法を拡張することによって、GB 文字集合の補助集やその他の東アジア言語の文字集合も収容することができる [Wei94]

この符号化法に与えられた名称は "HZ-GB-2312" であり、MIME ヘッダーの "charset" パラメーター・フィールドに用いることが想定されている ([MIME1] および [MIME2] を参照)。

もくじ

1. 序論
2. 解説
3. 形式的構文
4. MIME に関する考慮事項
5. 背景事情
6. 参照文献
7. 謝辞
8. セキュリティーに関する考慮事項
9. 著者連絡先
10. 付録 — HZ 表現法を実装したソフトウェア一覧

1. 序論

中国語 (および他の東アジア言語) の文字は、それらの言語が擁する厖大な数のグリフに十分な符号空間を保証するため、複数のバイトで符号化される。 世界中でネットワーク間トラフィックが増大するのに伴い、マルチバイト文字集合を用いる言語のテキスト (以下、中国語テキストとする) をインターネット越しに転送することに関し、それを容易にする方法を定義する必要に迫られてきた。

およそいかなるメカニズムも、それが中国語テキストをインターネット越しに転送することを目的とするものであれば、必ず直面する問題のレイヤー (層) が 2 つある。 ひとつ目はアプリケーション層で、当該アプリケーションはテキストの符号化法が認識できてしかるべきであり、さらにはテキスト中に混在する相異なる文字集合を見分け、それに応じてそれを処理することができなければならない。 2 つ目は、インターネット上の A 点と B 点の間で実際に中国語テキストを搬送するトランスポート層である。 インターネットで広く利用されているメール転送プロトコル Simple Mail Transfer Protocol (略して SMTP) は元来、ASCII 文字集合のためだけに設計されたものであるため、インターネット・メール・エージェントの多くは 8 ビット・クリーンではなく、その結果、中国語テキストをインターネット越しに送るためのメカニズムを実装しようとあらゆる試みがなされることとなった。

本稿では、IP ネットワーク上で中国語テキストを伝送するためのメカニズムについて説明する。 このメカニズムは、多言語サポートを扱うさまざまなソフトウェア・パッケージによって実装されており、過去 2 年にわたって USENET のニュースグループやその他のインターネット・フォーラム上でテストされてきたものである。 テスト結果は、HZ 表現が破損することなく、既存のほとんどすべてのメール配送エージェントによって伝達されうることを示している。 HZ 表現法は、現時点では GB2312-80 中国語文字集合のみを扱う。 それ以外の中国語符号化システムやその他の東アジア言語への拡張は検討中である。

2. 解説

中国語の符号化文字列と ASCII 文字列の双方をテキストに任意に混在させるため、区別可能な 2 つのテキスト・モード、ASCII モードと HZ モードとを、テキスト中で取りうるただ 2 つの状態として指定する。 いかなる位置においても、テキストはこれら 2 つのモードのいずれかにあるか、または一方から他方への遷移途中にある。 HZ モードでは、印字可能な ASCII 文字 (0x21–0x7E) のみが、2 バイトの長さをもつ基本的なテキスト単位の構成要素として意味をもつ。

ASCII モードでは、基本的テキスト単位のサイズは 1 バイトである。 例外は「~~」で、これは ASCII 文字「~」を表わす特殊シーケンスである。 ASCII モードでも HZ モードでも、「~」はエスケープ・シーケンスの先頭文字である。 ただし、HZ モードではテキスト単位の基本サイズは 2 バイトであるため、2 バイト文字の第一バイトの位置にある「~」文字だけがエスケープ・シーケンスの開始と見做される。

デフォルトのモードは ASCII モードである。 テキストの各行はデフォルトの ASCII モードで始まる。 したがって、中国語の文字列はすべて、同じテキスト行における「~{」と「~}」の対で囲まれることになる。

定義されているエスケープ・シーケンスは以下のとおり。

~{ — ASCII モードから GB2312 HZ モードへエスケープする
~} — HZ モードから ASCII モードへエスケープする
~~ — ASCII モードにおける ASCII 文字「~」
~\n — ASCII モードにおける行の継続
~[!-z|] — 将来の HZ モードの文字集合用に予約されている

中国語 GB 符号化テキストの 7 ビット表現の例を、[Lee89] から抜粋してそのまま示す。

例 1 (一行の長さが無制限であると仮定)

This sentence is in ASCII.
The next sentence is in GB.~{<:Ky2;S{#,NpJ)l6HK!#~}Bye.

例 2 (一行の最大長が 42 であると仮定)

This sentence is in ASCII.
The next sentence is in GB.~{<:Ky2;S{#,~}~
~{NpJ)l6HK!#~}Bye.

例 3 (モードが切り替わるたびに新たな行が開始されると仮定)

This sentence is in ASCII.
The next sentence is in GB.~
~{<:Ky2;S{#,NpJ)l6HK!#~}~
Bye.

3. 形式的構文(1)

ここに用いる表記上の規約は、RFC 822 [RFC822] で用いられているものと同一である。

アステリスク (*) の規約は次のとおり。

l*m something

これは、少なくとも l 個、多くとも m 個の something を意味する。 l および m はそれぞれ 0 および無限大のデフォルト値をとる。

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 = 1*single-byte-char

double-byte-segment = double-byte-seq 1*( one-of-94 one-of-94 )

single-byte-seq     = "~}"

double-byte-seq     = "~{"

CRLF                = CR LF
                                                 ; (  8 進,   10 進.)

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.)

single-byte-char    = <any 7BIT, including bare CR & bare LF, but NOT
                       including CRLF, not including > / "~~">;

7BIT                = <any 7-bit value>          ; ( 0-177,  0.-127.)

4. MIME に関する考慮事項

HZ 文字符号化法に与えられた名称は "HZ-GB-2312" である。 この名称は MIME メッセージにおいて次のように用いるためのものである。

Content-Type: text/plain; charset=HZ-GB-2312

HZ-GB-2312 符号化法はすでに 7 ビット形式であるため、Content-Transfer-Encoding ヘッダーを用いる必要はない。

5. 背景事情

ひとつの GB 符号は 2 バイト文字であり、その第一バイトは 0x21–0x77 の範囲に、第二バイトは 0x21–0x7E の範囲にある。 ASCII 文字の印字可能な部分集合は 0x21–0x7E の範囲の単一バイトであるため、適切なエスケープ・シーケンスの使用によって適切なテキスト・モードが示されるならば、印字可能な ASCII 文字 2 つで、2 バイト GB 符号の中国語文字ひとつを表現することができる。 このことが、上で説明した HZ 7 ビット表現方法の基礎をなしている。 さらに HZ 表現法では、印字可能な ASCII 文字「~」をエスケープ・シーケンスの先頭バイトに用いることによって、非印字可能 ASCII 文字を予約する必要をなくしている。 非印字可能 ASCII 文字は、一般的には、アプリケーション・プログラム (およびシステム環境) によってさまざまな制御機能やその他の特殊な信号伝達のために用いられている。 それを予約する必要がないため、本稿で説明した HZ 表現法は、ホスト環境やネットワーク環境による干渉の可能性を最小限にしている。 このことはまた、アプリケーションにとって HZ 符号化法の実装を容易にするものである。

HZ 表現法は、複数のコンピューター・ハードウェア・プラットフォームにまたがるさまざまな中国語ソフトウェアで実装されており、中国語テキストをインターネット越しに伝送するテストが USENET のニュースグループ alt.chinese.text および chinese.* 上ですでに 2 年以上にわたって実施されてきた。 中国語テキストの転送テストに最初に参加した地点は、地理的に世界中に散らばっており、かつシステム環境やネットワーク環境が大きく異なるという制約下にあった。 そうしたテスト・グループのほうが、実際のインターネット世界の完全なサンプルをよりよく代表しているかもしれない。 このテストの成功は、したがって、HZ 表現法がマルチバイト・テキストのインターネット越しの伝送に適しているという信頼性を補強するものである。

HZ 表現法のもとでは、ASCII テキストは 7 ビット文字のままであり、したがって、HZ 表現法は 7 ビットの ASCII 文字集合と一緒になってその上位文字集合を形成していると見ることができる。

6. 参照文献

[ASCII] American National Standards Institute, "Coded character set -- 7-bit American national standard code for information interchange", ANSI X3.4-1986.

[GB 2312] Technical Administrative Bureau of P.R.China, "Coding of Chinese Ideogram Set for Information Interchange Basic Set", GB 2312-80.

[Lee89] Lee, F., "HZ - A Data Format for Exchanging Files of Arbitrarily Mixed Chinese and ASCII characters", RFC 1843, Stanford University, August 1995.

[MIME1] Borenstein N., and N. Freed, "MIME (Multipurpose Internet Mail Extensions) Part One: Mechanisms for Specifying and Describing the Format of Internet Message Bodies", RFC 1521, Bellcore, Innosoft, September 1993.

[MIME2] Moore, K., "MIME (Multipurpose Internet Mail Extensions) Part Two: Message Header Extensions for Non-ASCII Text", RFC 1522, University of Tennessee, September 1993.

[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.

[Wei94] Wei, Yagui, "A Proposal for a Consolidated Collection of East Asian Language Coding Standards Using Solely ASCII Printable Characters", June 30, 1994.

7. 謝辞

7 ビット中国語表現システム HZ の設計および仕様策定には、多くの人々がさまざまな段階で関与してきた。 中でも特筆すべき功労者は、Ed Lai、Chunqing Cheng、Fung Fung Lee、Ricky Yeung の各氏である。 この文書は、これら一団の人々によって共同でなされた思索と努力とをただ回想するものにすぎない。 彼らの献身が HZ 中国語表現法をインターネットにおける今日の成功に導いたのである。 また、AsiaInfo Services Inc. には、この文書の準備を後援し、この文書の洗練にあたって通信上の便宜を図ってくれたことに感謝したい。

8. セキュリティーに関する考慮事項

セキュリティーの問題はこのメモでは議論しない。

9. 著者連絡先

Ya-Gui Wei
AsiaInfo Services Inc.
One Galleria Tower
13355 Noel Rd. Suite 1340
Dallas, TX 75240

Phone: (214) 788-4141
Fax: (214) 788-0729
EMail: HZRFC@usai.asiainfo.com

Yun Fei Zhang
CfA
Harvard University
MS 66
60 Garden St.
Cambridge, MA 02138

Phone: (617)-860-9444
EMail: zhang@orion.harvard.edu

Jian Q. Li
Rice University
ONS - MS 119
P.O. Box 1892
Houston, Texas 77251-1892

Phone: (713)285-5328
EMail: jian@is.rice.edu

Jian Ding
ISTIC Bldg, Room 431
15 Fuxing Road,
Beijing, China 100038

Phone: 86 10 853-7120
Fax: 86 10 853-7123
EMail: ding@Beijing.AsiaInfo.com

Yuan Jiang
Electrical Engineering Department
University of Maryland
College Park, MD 200742

Phone: 301-405-3729
EMail: yjj@eng.umd.edu

10. 付録 — HZ 表現法を実装したソフトウェア一覧

以下に、HZ 中国語表現法をサポートしているソフトウェア・パッケージの一覧を編んだ。 この一覧は完全というには程遠いものであるが、HZ 表現法のサポートがハードウェアおよびソフトウェアの主要なプラットフォーム向けに実装されていることは見て取れる。 挙げられているソフトウェア・パッケージについてより詳しくは (中国語コンピューティングに関連する他の情報についても)、インターネット・サイト ftp://ftp.ifcss.org/pub/software/ ないし以下のミラー・サイトを参照されたい(2)

中国北京  ftp://info.bta.net.cn/pub/software/
中国上海  ftp://info.bta.net.cn/pub/software/
台湾  ftp://nctuccca.edu.tw/pub/Chinese/ifcss/
ftp://ftp.edu.tw/Chinese/ifcss/software/
シンガポール  ftp://ftp.technet.sg/pub/chinese/
米国カリフォルニア  ftp://cnd.org/pub/software/

以下の一覧では、まずソフトウェアの名称を示し、続いて (カッコ内に) 現在のバージョン番号とリリースの日付、そして作者名を示す。 各ソフトウェアの機能についての簡単な説明を、行を変えて "--" のあとに示す。 パッケージ間は空行で分割する。

zwdos (V2.2, 1993年3月5日) Wei Ya-Gui
-- DOS テキスト・モード・プログラムに、zW ないし HZ による中国語テキストを入力・表示・操作・印刷する能力を与える MS-DOS カーネル拡張。 必要なメモリーは少量。 EGA、VGA、Hercules Monographic のディスプレイをサポート。
HZ (V2.0, 1995年2月7日) Fung F. Lee
-- HZ から GB への変換、GB から HZ への変換、zW から HZ への変換をする。 PC 版、Mac 版、Unix 版がある。
XingXing (V4.2, 1995年3月29日) Wang Xiangdong
-- PC 向け中国語ワード・プロセッサー。
NJStar (V3.00, 1994年2月10日) Hongbo Ni
-- GB ワード・プロセッサー (ビューアー、エディター、印刷、変換)。 EGA、(mono)VGA、SuperVGA の各モニター、各種プリンター、中英・英中辞書検索、HanziInfo、用語集をサポート。 Intelligent LianXiang や fuzzy Pinyin を含む 20 以上の中国語入力方式に対応。 文ベースのピンインで高速化。 GB、HZ、zW、Big5 のファイルの読み書きが可能。 DOS シェル。 設定変更可能。
QuickStar (V3.0, 1995年6月7日) Anthony Mai
-- PC 向けのコンパクトな中国語編集ソフトウェア。 PinYin、CiZu、WuBi、GuoBiao、ASCII などの入力方式。 GB、HZ、Big5 で符号化されたファイルの相互変換。
cnprint (V2.6, 1995年1月25日) Yidao Cai
-- GB、HZ、BIG5、JIS、KSC、UTF8、その他の印刷、ないし PostScript (EPSF-3.0 準拠) への変換。 DOS 版と UNIX 版とが利用可能。
dm24 (V2.0, 1993年9月) Gongquan Chen
-- EPSON 24 ピン・プリンター向けの、GB ないし HZ による中国語の印刷プログラム。
HXLASER (V2.6, 1994年2月) Chen, Gongquan
-- HP LaserJet plus プリンターおよびその後継モデル向けの、GB、HZ、BIG5 によるファイルの印刷プログラム。
CNVIEW (V3.0, 1995年1月1日) Jifang Lin
-- GB、HZ、Big5 で符号化された中国語テキストのファイルを IBM-PC および互換機上で表示する。
ZWLIST (V1.1, 1993年11月24日) Gongquan Chen
-- ZWDOS 向けの、HZ、GB、BIG5 による中国語ファイル・ブラウザー。
zwTool (V1.0, 1993年10月30日) Gongquan Chen
-- テキスト・モードにおける中国語文字入力のための MSDOS TSR プログラム。 最初は中国人プログラマーたちにより、IDE (Integrated Development Environment、ボーランドの Turbo 言語のような統合開発環境) を利用して開発された。 GB/HZ をサポートしている。 EGA/VGA が必要。
DateStar (V1.1) Youzhen Cheng
-- 中国語カレンダー製作プログラム。 中国および西洋のカレンダーを、ASCII コード、BIG-5 コード、GB コード (中華人民共和国標準)、および HZ コード (ネットワーク) で表示する。
MacViewHZ (V2.21, 1993年12月) Xiaodong Chen
-- GB/HZ または BIG5 で符号化された中国語テキストを、中国語 OS のない Macintosh 上で表示・印刷する。 マルチ・ウィンドウと、削除、コピー、カット・アンド・ペーストなどの簡単な編集機能を含む、使い易い Mac ユーザー・インターフェイスをもつ。
MacHZTerm (V0.52) Xin Xu
-- CommToolBox を使った通信プログラム。 GB、HZ、Big5 のテキストをオンラインで表示する能力をもつ。 中国語 OS は必要ない。 System 7 推奨。
HanziTerm (V0.5) Ricky Yeung
-- Mac 中国語 OS 6.0.x 以降のバージョン向け端末エミュレーター。 8 ビット文字コード、HZ、および zW をサポートしている。
Tex-Edit-HZ (V1.0, 1993年12月18日) Tom Bender と Tie Zeng
-- HZ ↔ GB 変換機能をもつ MAC WorldScript 対応のテキスト・エディター。
MacBlue Telnet (V2.6.6, 1995年2月16日) MacBlue
-- すべての中国語符号化法 (HZ、GB、Big5、ET など)、EUC-JIS、EUC-KSC を扱うことのできる Telnet プログラム。 漢字入力メソッドの組み込まれた NCSA Telnet がベース。
rnMac (V1.3b5) Roy Wood
-- GB ↔ HZ 変換機能を備えたオフライン・ニュース・リーダー。
Weiqi267 (V2.67) Xiangbo Kang
-- 囲碁の対局を記録し、それらをネット越しに転送する。 GB、HZ と 100% 互換 (ただしロシア文字は無効にされている)。 HZ 符号化法によるユーザー・ガイドがある。 現在は中国将棋にも利用できる。
TwinBridge (V3.2, 1994年11月16日) Twinbridge Software Corporation
-- Windows とアプリケーションの間のインターフェイス。 これにり、Word、Ami Pro、Excel などのような Windows アプリケーションで中国語文字が処理できるようになる。 ほとんどのアプリケーションで中国語文字を英語文字のように編集できる。
WinHZ (V1.1, 1995年4月13日) Tian Bogang
-- Windows 用中国語システムのための HZ 拡張。
HZcomm (V1.5, 1993年11月14日) Nick Ke Ning
-- 中国語 Windows システム (内部コードは GB) のもとで動く HZ 符号化法をサポートした通信プログラム。 HZ で符号化された電子メールやネットニュース (alt.chinese.text) を PC 用 Windows 3.1 からオンラインで読み書きするのに有効。
SimpTerm (V0.8.0) Jianqing Hu
-- MS-Windows 3.1 用中国語通信プログラム。 BIG5、HZ、GB で符号化されたテキストのサポートが組み込まれている。
ChPad (V1.31) Tian Bogang
-- MS WINDOWS 3.1 用 GB/HZ ファイル・ブラウザー。
SilkRoad (V1.0) Antony C. Hu
-- MS-Windows 3.1 用 GB/HZ ビューアー。
gnus-chinese (V1.0, 1994年4月26日) Ning Mosberger-Tang
-- GNUS ニュースリーダー (GNU EMACS 用) において HZ の記事を端末の理解するコードに自動変換する。 実際の変換を担う変換プログラム (たとえば hz2gb と gb2hz) が必要。
irchat (V2.4jp4cn0) HIROSE Tutomu 〔広瀬務〕
-- irc クライアント。 HZ および Big5 を扱うようにパッチの当てられた Mule 上の e-lisp プログラム。 いまや我々は irc 上で JIS/HZ/Big5 のすべてを同時に読み書きすることができる。
hztty (V2.0, 1994年1月29日) Yongguang Zhang
-- このプログラムは tty セッションをある符号化法から別のものへ切り替える。 たとえば、cxterm 上で hztty を走らせることで HZ フォーマットの中国語の読み書きができるようになる。
BeTTY/CCF/B5Encode パッケージ (V1.534, 1995年3月22日) Jing-Shin Chang
-- 台湾で広く使われている諸コードと大陸で広く使われている GB コードのための中国語コード変換パッケージ。 7 ビットの Big5 符号化方法 (B5Encode3 〔B5E3〕、HZ 符号化法の GB 用拡張) も扱う。 オフライン・コンバーター (中国語コード・フィルター 〔CCF〕 および B5Encode 〔B5E〕) とオンライン・コンバーター (BeTTY) を含む。 後者は、台湾で広く利用されている各種符号化システムや、GB、HZ 符号化法を認識するよう、ネイティブの中国語端末をシミュレートする。
gb2jis と jis2gb (V1.5, 1995年5月11日) Koichi Yasuoka 〔安岡孝一〕
-- GB (または HZ) から 2 文字ピンインを伴う JIS への変換、およびその逆変換をする。
gb2ps (V2.02) Wei SUN
-- GB/HZ を PostScript に変換する。 簡単なページ整形 (中国語フォントおよびフォント・サイズの変更、カバー・ページ、ページ番号など) をサポートしている。 このリリースでは、Song、Kai、Fang Song、Hei、FanTi の 5 つの中国語フォントを提供している。 HZ 符号化法もサポートしている。
ChiRK (V1.2a) Bo Yang
-- Tektronics 401x グラフィクスの表示能力をもつ端末 (またはエミュレーター)——GraphOn、DEC VT240/330、Xterm、Sun の Tektool、PC の EM4105、Mac の VersaTerm-Pro など——上の GB/HZ/BIG5 テキスト・ビューアー。
NCSA Mosaic X 2.4 の多地域化拡張 (V2.4.0) TAKADA, Toshihiro 〔高田敏弘〕
-- NCSA Mosaic for X 2.4 でさまざまな国の文字集合を利用するためのパッチ。 ひとつの Mosaic で文字集合間の切り替えができる。 ISO 8859-X、KOI-8、GB、HZ、BIG5、KSC、JIS をサポートしている。

 


【訳注】

(1)  ここに示されている HZ-GB-2312 の構文記述は正確なものではない。
(2)  いずれのミラー・サイトも現在は存在しない。 北京と上海の URL が同じなのは原文のまま。

 



2007年10月09日公開
2008年04月06日更新
Translated by: Mendoxi (面独斎)
mendoxi@cam.hi-ho.ne.jp