Введение

Формат для передачи текста 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-битных символов или управляющих символов.

История

HZ заменил более раннюю кодировку "zW", которая помечала целые строки как текст GB 2312, начиная их с символов zW.

Кодировщики и декодеры HZ

Первый кодировщик и декодировщик HZ были написаны в 1989 году изобретателем этого кода для операционной системы Unix. Эта программа, также предназначенная для Unix, была одной из первых и самых популярных программ для декодирования HZ. Она отличается от спецификации тем, что отображает управляющие последовательности (то есть "~{" и "~}"), и не обрабатывает "~~" и "~", за которыми следует символ новой строки, особым образом. Вероятно, это было сделано для того, чтобы программное обеспечение, которое предполагает, что один символ занимает одну позицию на экране (на текстовом экране), могло работать правильно без изменений. Поддержка Microsoft Windows появилась позже, и ряд сторонних "китайских систем" поддерживают HZ. Эти системы могут предоставлять возможность скрывать управляющие последовательности.

Недостатки

Из-за наличия управляющих последовательностей и, кроме того, из-за того, что символы экранирования в этой кодировке являются печатаемыми символами ASCII, относительно легко создавать последовательности байтов для атак, которые преобразуются из кодировки HZ в Unicode и обратно. Поэтому использование кодировки HZ рассматривается программами защиты от вредоносного ПО как подозрительное.