Открыть сервис

ISO 646

ISO 646 — это международный стандарт, принятый Международной организацией по стандартизации (ISO), который определяет 7-битный набор символов для обмена информацией. Стандарт был разработан в 1972 году (первая редакция — ISO 646:1972) и впоследствии пересматривался (ISO 646:1973, ISO 646:1983, ISO 646:1991). ISO 646 лёг в основу многих национальных и отраслевых кодировок, включая ASCII (American Standard Code for Information Interchange), и стал фундаментом для последующих стандартов, таких как ISO/IEC 8859 и Unicode.

История

В 1960-е годы с развитием вычислительной техники и телекоммуникаций возникла потребность в универсальном способе представления текстовой информации. Различные производители и организации использовали собственные кодировки, что затрудняло обмен данными. В 1963 году в США был принят стандарт ASCII (ANSI X3.4), который стал основой для международной работы. В 1972 году ISO опубликовала стандарт ISO 646, который по сути представлял собой международную адаптацию ASCII, но с возможностью национальных вариаций.

Первоначальная версия ISO 646 полностью совпадала с US-ASCII (кроме некоторых позиций, зарезервированных для национальных символов). Однако в процессе принятия выяснилось, что разные страны нуждаются в поддержке собственных алфавитов (например, латинские буквы с диакритическими знаками, кириллица, греческий). Для этого в стандарте были предусмотрены «национальные варианты» — таблицы, в которых часть символов (в основном, на позициях 0x40–0x5F и 0x60–0x7F) заменялась на буквы, специфичные для конкретного языка.

Структура и кодировка

ISO 646 определяет 7-битный код, в котором каждому символу соответствует число от 0 до 127 (десятичных) или от 0x00 до 0x7F (шестнадцатеричных). Кодовая таблица состоит из двух частей:

Ключевая особенность ISO 646 — возможность замены 10–12 графических символов на национальные. В международном справочном варианте (ISO 646-IRV) эти позиции заняты символами, общими для большинства языков на латинской основе (например, знаки $, @, [, \, ], ^, ` `, {, |, }, ~). В национальных вариантах некоторые из этих символов заменялись на буквы с диакритикой (например, ä, ö, ü, ñ, é`).

Примеры национальных вариантов

Проблема совместимости

Из-за национальных вариаций один и тот же код (например, 0x5B) мог означать разные символы в разных странах: в США — [, в Германии — Ä, во Франции — °. Это приводило к искажениям при передаче данных между системами с разными национальными настройками. Для решения проблемы были разработаны методы идентификации варианта (например, использование escape-последовательностей в стандарте ISO 2022), а позже — переход на 8-битные кодировки (ISO 8859), которые позволяли включать больше символов без конфликтов.

Влияние и наследие

ISO 646 стал отправной точкой для развития стандартизированных кодировок. Его 7-битная структура и принцип национальных вариантов легли в основу:

В России и странах бывшего СССР для кириллицы использовались варианты, основанные на ISO 646, но с заменой латинских букв на кириллические. Например, кодировка КОИ-7 (Код Обмена Информацией, 7-битная) была разработана для передачи русскоязычных текстов по телеграфным каналам. Позже она была вытеснена 8-битными кодировками (КОИ-8, CP1251) и Unicode.

Критика и ограничения

Основным недостатком ISO 646 была невозможность одновременного использования нескольких национальных алфавитов в одном документе. Из-за замены символов (например, квадратные скобки [ и ] в немецком варианте становились буквами Ä и Ö) нарушалась работа программного обеспечения, которое полагалось на эти символы (например, синтаксис языков программирования). Это привело к тому, что в 1980-х годах многие страны перешли на 8-битные расширения, а позже — на Unicode.

Кроме того, 7-битный лимит (128 символов) не позволял охватить даже все символы латинского алфавита с диакритикой, не говоря уже о нелатинских письменностях (кириллица, греческий, арабский). Поэтому ISO 646 никогда не использовался для полноценной поддержки русского языка — для этого требовались отдельные 7-битные кодировки (например, КОИ-7) или 8-битные расширения.

Применение в современности

В настоящее время ISO 646 в чистом виде практически не используется. Однако его наследие сохраняется:

Интересные факты

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →