HZ (кодировка символов)

редактировать
Формат для отправки текста GB2312 по 7-битному каналу ASCII
Кодировка HZ
MIME / IANAHZ-GB-2312
Язык (и)Упрощенный китайский, Английский, Русский
СтандартныйRFC 1843
Классификациякодировка CJK, защита ASCII, кодировка переменной ширины, кодировка с отслеживанием состояния
Преобразует / кодируетGB 2312
, которому предшествуетzW
, затемQuoted-printable, UTF-7, 8BITMIME
  • v
  • t

Кодировка символов HZ - это кодировка из GB2312, которая раньше широко использовалась в электронной почте и USENET сообщениях. Он был разработан в 1989 году Фунг Фунг Ли (кит. : 李楓 峰) из Стэнфордского университета и впоследствии кодифицирован в 1995 году в RFC 1843.

The HZ, сокращение от Hanzi (упрощенный китайский : 汉字; традиционный китайский : 漢字; буквенный : «китайские иероглифы»), кодирование было изобретено для облегчения использование китайских иероглифов через электронную почту, которая в то время допускала только 7-битные символы. Поэтому вместо стандартных управляющих последовательностей ISO 2022 (как в случае ISO-2022-JP ) или 8-битных символов (как в случае EUC ) HZ код использует только печатаемые 7-битные символы для представления китайских иероглифов.

Он также был популярен в сетях USENET, которые в конце 1980-х - начале 1990-х годов, как правило, не позволяли передавать 8-битные символы или escape-символы.

Содержание
  • 1 История
  • 2 Структура и использование
  • 3 HZ кодировщики и декодеры
  • 4 Недостатки
  • 5 Ссылки
History

HZ заменили предыдущее "zW" "кодировка, которая помечает целые строки как текст GB2312, начиная с символов zW.

Структура и используя

В системе кодирования HZ последовательности символов" ~ {"и" ~} "действуют как escape последовательности; все, что находится между ними, интерпретируется как китайский, закодированный в GB2312 (старшие биты игнорируются). Вне управляющих последовательностей предполагается, что символы имеют формат ASCII.

. Пример поможет проиллюстрировать взаимосвязь между GB2312, EUC-CN и кодом HZ:

Различные формы кода GB2312 (0xD2BB) для символа «一» (один)
ФормаКодс escape-последовательностямиПримечания
Кутен / Qūwèi / 区 位 form5027Зона / район / ряд (ku / qū / 区) 50, точка (десять / wèi / 位) 27
ISO 2022 форма52163B160E1652163B160F1650 + 32 = 82 = 52 16
Форма EUC-CND216BB16D216BB165216∨ 80 16 = D2 16
Форма HZ (стандартная)52163B167E167B1652163B167E167D16Появляется как ~ {R; ~} без декодера HZ
Форма HZ (альтернативная)D216BB167E167B16D216BB167E167D16Форма EUC, приемлемая по крайней мере для некоторых декодеров

HZ изначально была разработана для использования исключительно как 7-битный код. Однако, когда позволяют ситуации, escape-последовательности «~ {» и «~}» иногда окружают символы, представленные в EUC-CN; это альтернативное использование позволяет читать на китайском языке либо с помощью программного обеспечения декодера HZ, либо с помощью системы, которая понимает EUC-CN.

Кроме того, спецификация определяет, что:

  • последовательность «~~» должна рассматриваться как кодирующая одиночный ASCII «~» и,
  • символ «~», за которым следует новую строку следует отбросить.

Однако не все декодеры HZ следуют этим двум правилам.

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

Первые кодировщики и декодеры HZ были написаны в 1989 году изобретателем кода для операционной системы Unix.

29>Программа hztty, также для операционной системы Unix, также была среди первых и самых популярных декодеров HZ. Он отклоняется от спецификации в том, что он отображает escape-последовательности (то есть «~ {» и «~}»), и не обрабатывает специально «~~» и «~», за которыми следует новая строка. Вероятно, это было сделано для того, чтобы программное обеспечение, которое предполагает, что один символ занимает одну позицию экрана (на текстовом экране), могло работать правильно без изменений.

Поддержка Microsoft Windows появилась позже, и ряд сторонних «китайских систем» поддерживают HZ. Эти системы могут предоставлять возможность скрыть escape-последовательности.

Недостатки

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

Ссылки
  1. ^«HZ - формат данных для обмена файлами, состоящими из произвольно смешанных китайских символов и символов ASCII». Архивировано из оригинала 27.10.2005.
  2. ^RFC 1843
  3. ^Лунде, Кен (1995-12-18). «CJK.INF Version 1.9».
  4. ^«Пакет HZ 2.0 - спецификация HZ, исходный код эталонного кодировщика и декодера».
  5. ^https://bugzilla.mozilla.org/show_bug.cgi?id=935453
Последняя правка сделана 2021-05-22 09:55:52
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте