Введение
Формат для передачи текста GB 2312 по 7-битному каналу ASCII. Кодировка HZ — это кодировка GB 2312, которая ранее широко использовалась в электронной почте и сообщениях USENET. Она была разработана в 1989 году Фун Фун Ли из Стэнфордского университета и впоследствии стандартизована в RFC 1843 в 1995 году. Кодировка HZ, сокращение от Hanzi, была создана для упрощения использования китайских иероглифов в электронной почте, которая в то время поддерживала только 7-битные символы. Поэтому, вместо стандартных управляющих последовательностей ISO 2022 (как в случае ISO 2022 JP) или 8-битных символов (как в случае EUC), кодировка HZ использует только печатаемые 7-битные символы для представления китайских иероглифов. Она также была популярна в сетях USENET, которые в конце 1980-х и начале 1990-х годов обычно не разрешали передачу 8-битных символов или управляющих символов.
The HZ character encoding is an encoding of GB 2312 that was formerly commonly used in email and USENET postings. It was designed in 1989 by Fung Fung Lee of Stanford University, and subsequently codified in 1995 into RFC 1843. The HZ, short for Hanzi , encoding was invented to facilitate the use of Chinese characters through e mail, which at that time only allowed 7 bit characters. Therefore, in lieu of standard ISO 2022 escape sequences (as in the case of ISO 2022 JP) or 8 bit characters (as in the case of EUC), the HZ code uses only printable, 7 bit characters to represent Chinese characters. It was also popular in USENET networks, which in the late 1980s and early 1990s, generally did not allow transmission of 8 bit characters or escape characters.
История
HZ заменил более раннюю кодировку "zW", которая помечала целые строки как текст GB 2312, начиная их с символов zW.
Кодировщики и декодеры HZ
Первый кодировщик и декодировщик HZ были написаны в 1989 году изобретателем этого кода для операционной системы Unix. Эта программа, также предназначенная для Unix, была одной из первых и самых популярных программ для декодирования HZ. Она отличается от спецификации тем, что отображает управляющие последовательности (то есть "~{" и "~}"), и не обрабатывает "~~" и "~", за которыми следует символ новой строки, особым образом. Вероятно, это было сделано для того, чтобы программное обеспечение, которое предполагает, что один символ занимает одну позицию на экране (на текстовом экране), могло работать правильно без изменений. Поддержка Microsoft Windows появилась позже, и ряд сторонних "китайских систем" поддерживают HZ. Эти системы могут предоставлять возможность скрывать управляющие последовательности.
Недостатки
Из-за наличия управляющих последовательностей и, кроме того, из-за того, что символы экранирования в этой кодировке являются печатаемыми символами ASCII, относительно легко создавать последовательности байтов для атак, которые преобразуются из кодировки HZ в Unicode и обратно. Поэтому использование кодировки HZ рассматривается программами защиты от вредоносного ПО как подозрительное.