| MIME / IANA | HZ-GB-2312 |
|---|---|
| 言語 | 簡体字中国語、英語、ロシア語 |
| 作成者 | フォン・フォン・リー |
| 標準 | RFC 1843 |
| 分類 | CJKエンコーディング、ASCIIアーマー、可変幅エンコーディング、ステートフルエンコーディング |
| 変換/エンコード | GB 2312 |
| 先行 | zW |
| 後継者 | Quoted-printable、UTF - 7、8BITMIME |
HZ文字エンコーディング[ 1 ]は、かつて電子メールやUSENETの投稿で広く使用されていたGB 2312のエンコーディングです。1989年にスタンフォード大学のFung Fung Lee(中国語:李楓峰)によって設計され、その後1995年にRFC 1843として体系化されました。[ 2 ]
HZ (Hanzi 、簡体字中国語:汉字、繁体字中国語:漢字、直訳すると「中国語の文字」)は、当時7ビット文字しか使用できなかった電子メールで中国語の文字を容易に使用できるようにするために考案されました。そのため、HZコードは、標準のISO 2022エスケープシーケンス(ISO-2022-JPの場合)や8ビット文字( EUCの場合)の代わりに、印刷可能な7ビット文字のみを使用して中国語の文字を表します。
これは USENET ネットワークでも人気がありましたが、1980 年代後半から 1990 年代前半にかけては、8 ビット文字やエスケープ文字の送信が一般的に許可されていませんでした。
HZは、文字で始まる行全体をGB 2312テキストとしてマークする以前の「zW」エンコーディングに取って代わりましたzW。[ 3 ]
HZエンコードシステムでは、「~{」と「~}」という文字シーケンスはエスケープシーケンスとして機能します。これらの文字シーケンスの間にある文字は、GB 2312でエンコードされた中国語として解釈されます(最上位ビットは無視されます)。エスケープシーケンスの外側にある文字は、ASCII文字とみなされます。
次の例は、 GB 2312、EUC-CN、および HZ コード の関係を説明するのに役立ちます。
| 形状 | コード | エスケープシーケンス付き | 備考 |
|---|---|---|---|
| 区点/ 区威 /区位フォーム | 5027 | — | ゾーン/区/行 (区/区) 50、点 (テン/ウェイ/位) 27 |
| ISO 2022フォーム | 52 16 3B 16 | 0E 16 52 16 3B 16 0F 16 | 50 + 32 = 82 = 52 16 |
| EUC-CNフォーム | D2 16 BB 16 | D2 16 BB 16 | 52 16 ∨ 80 16 = D2 16 |
| HZフォーム(標準) | 52 16 3B 16 | 7E 16 7B 16 52 16 3B 16 7E 16 7D 16 | HZデコーダーなしでは ~{R;~}と表示されます |
| HZ型(代替) | D2 16 BB 16 | 7E 16 7B 16 D2 16 BB 16 7E 16 7D 16 | 少なくとも一部のデコーダーで受け入れられるEUC形式 |
HZは元々、純粋に7ビットコードとして使用することを目的として設計されました。しかし、状況によっては、EUC-CNで表現された文字をエスケープシーケンス「~{」と「~}」で囲むことがあります。この代替使用法により、HZデコーダーソフトウェア、またはEUC-CNを理解するシステムを使用することで、中国語を判読できるようになります。
さらに、仕様では次のことが定義されています。
ただし、すべての HZ デコーダーがこれら 2 つのルールに従うわけではありません。
最初のHZエンコーダとデコーダは、1989年にコードの発明者によってUnixオペレーティングシステム用に書かれました。[ 4 ]
hzttyプログラムもUnixオペレーティングシステム用で、初期のHZデコーダーの一つであり、最も広く普及したデコーダーの一つでした。エスケープシーケンス(「~{」と「~}」)を表示する点と、「~~」と「~」に続く改行を特別扱いしない点が仕様から外れています。これはおそらく、1文字が(テキスト画面上で)1画面分を占めると想定するソフトウェアが、修正なしで正しく動作するようにするためだったと考えられます。
Microsoft Windowsでのサポートは後から開始され、多くのサードパーティ製の「中国語システム」がHZをサポートしています。これらのシステムでは、エスケープシーケンスを非表示にするオプションが提供されている場合があります。
エスケープシーケンス、そしてさらにエスケープ区切り文字がASCIIの印字可能な文字であるため、HZとUnicodeを往復する攻撃バイトシーケンスを構築するのは非常に容易です。そのため、HZエンコーディングの使用は、マルウェア対策スイートによって疑わしいものとして扱われます。[ 5 ]