HZ(文字エンコーディング)

HZエンコーディング
MIME / IANAHZ-GB-2312
言語簡体字中国語英語ロシア語
作成者フォン・フォン・リー
標準RFC  1843
分類CJKエンコーディングASCIIアーマー可変幅エンコーディングステートフルエンコーディング
変換/エンコードGB 2312
先行zW
後継者Quoted-printableUTF - 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 2312EUC-CN、および HZ コード の関係を説明するのに役立ちます。

GB 2312コード(0xD2BB)の「一」の文字のさまざまな形式
形状コードエスケープシーケンス付き備考
区点/ 区威 /区位フォーム5027ゾーン/区/行 (区/) 50、点 (テン/ウェイ/) 27
ISO 2022フォーム52 16 3B 160E 16 52 16 3B 16 0F 1650 + 32 = 82 = 52 16
EUC-CNフォームD2 16 BB 16D2 16 BB 1652 16 ∨ 80 16 = D2 16
HZフォーム(標準)52 16 3B 167E 16 7B 16 52 16 3B 16 7E 16 7D 16HZデコーダーなしでは ~{R;~}と表示されます
HZ型(代替)D2 16 BB 167E 16 7B 16 D2 16 BB 16 7E 16 7D 16少なくとも一部のデコーダーで受け入れられるEUC形式

HZは元々、純粋に7ビットコードとして使用することを目的として設計されました。しかし、状況によっては、EUC-CNで表現された文字をエスケープシーケンス「~{」と「~}」で囲むことがあります。この代替使用法により、HZデコーダーソフトウェア、またはEUC-CNを理解するシステムを使用することで、中国語を判読できるようになります。

さらに、仕様では次のことが定義されています。

  • シーケンス「~~」は単一のASCII「~」をエンコードしたものとして扱われ、
  • 改行文字「~」は破棄されます。

ただし、すべての HZ デコーダーがこれら 2 つのルールに従うわけではありません。

HZエンコーダとデコーダ

最初のHZエンコーダとデコーダは、1989年にコードの発明者によってUnixオペレーティングシステム用に書かれました。[ 4 ]

hzttyプログラムもUnixオペレーティングシステム用で、初期のHZデコーダーの一つであり最も広く普及したデコーダーの一つでした。エスケープシーケンス(「~{」と「~}」)を表示する点と、「~~」と「~」に続く改行を特別扱いしない点が仕様から外れています。これはおそらく、1文字が(テキスト画面上で)1画面分を占めると想定するソフトウェアが、修正なしで正しく動作するようにするためだったと考えられます。

Microsoft Windowsでのサポートは後から開始され、多くのサードパーティ製の「中国語システム」がHZをサポートしています。これらのシステムでは、エスケープシーケンスを非表示にするオプションが提供されている場合があります。

デメリット

エスケープシーケンス、そしてさらにエスケープ区切り文字がASCIIの印字可能な文字であるため、HZとUnicodeを往復する攻撃バイトシーケンスを構築するのは非常に容易です。そのため、HZエンコーディングの使用は、マルウェア対策スイートによって疑わしいものとして扱われます。[ 5 ]

参考文献