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

7-битный набор символов

7-битный набор символов — это кодировка, в которой каждый символ представляется последовательностью из семи двоичных разрядов (битов), что позволяет закодировать до 128 различных знаков (2^7 = 128). Такие наборы исторически стали первыми стандартизированными системами цифрового представления текста, поскольку 7 бит было достаточно для передачи латинского алфавита, цифр, знаков препинания и управляющих символов, а также позволяло экономить память и пропускную способность каналов связи в ранних вычислительных системах.

История

Предпосылки появления

До появления 7-битных кодировок использовались различные 5-битные и 6-битные системы (например, код Бодо), которые не могли охватить весь алфавит. С развитием телеграфа и появлением первых электронных вычислительных машин в 1950-х годах возникла потребность в универсальном стандарте для обмена данными между разными устройствами.

Разработка ASCII

Наиболее известным и влиятельным 7-битным набором символов является ASCII (American Standard Code for Information Interchange). Его разработка началась в 1960 году под эгидой Американской ассоциации стандартов (ASA, ныне ANSI). Первая версия была опубликована в 1963 году, а окончательная редакция — в 1968 году. ASCII стал основой для большинства последующих кодировок.

Применение в СССР

В Советском Союзе для вычислительной техники использовались 7-битные кодировки, адаптированные под кириллицу. Наиболее известной является КОИ-7 (Код Обмена Информацией, 7-битный), разработанная в 1960-х годах. Она базировалась на ASCII, но заменяла латинские буквы в определённых позициях на кириллические, что позволяло передавать русский текст в 7-битных каналах связи. КОИ-7 использовалась в ЕС ЭВМ и СМ ЭВМ.

Структура 7-битного кода

Стандартный 7-битный набор символов (например, ASCII) делится на две основные группы:

  • Управляющие символы (коды 0–31 и 127): Непечатаемые знаки, предназначенные для управления устройствами (терминалами, принтерами) и протоколами передачи данных. Примеры: NUL (0) — пустой символ, LF (10) — перевод строки, CR (13) — возврат каретки, DEL (127) — удаление.
  • Печатаемые символы (коды 32–126): Включают:
  • Пробел (32).
  • Цифры (48–57): 0–9.
  • Заглавные латинские буквы (65–90): A–Z.
  • Строчные латинские буквы (97–122): a–z.
  • Знаки препинания и специальные символы (33–47, 58–64, 91–96, 123–126): !, ?, ., ,, (, ), +, -, =, [, ], {, }, :, ;, ', ", @, #, $, %, ^, &, *, _, \, |, ~, <, >, /.

Классификация 7-битных наборов

Национальные варианты

Поскольку 7-битный набор вмещает только 128 символов, для поддержки национальных алфавитов (кириллица, греческий, арабский и т.д.) создавались локальные варианты. В них часть редко используемых латинских букв (например, [\]^_`{|}~) или знаков препинания заменялась на буквы национального алфавита. Примеры:

  • КОИ-7 (СССР): Кириллический вариант, где латинские буквы в верхнем регистре заменялись на русские (например, A→А, B→Б, C→Ц, D→Д и т.д.).
  • ISO 646: Международный стандарт, определявший 7-битные наборы для разных стран. Национальные варианты ISO 646 (например, для Великобритании, Германии, Франции) отличались заменой символа # на £, $ на ¤ и т.д.

Расширенные кодировки

Недостаток 7-битных наборов — невозможность одновременного использования нескольких алфавитов. Это привело к созданию 8-битных расширений (например, Windows-1251, KOI-8), которые добавили ещё 128 символов, но сохранили обратную совместимость с 7-битным ASCII в первой половине таблицы.

Применение

Телеграфия и телетайпы

7-битные коды (в частности, ASCII) стали стандартом для передачи данных в телеграфных сетях и телетайпах. Они заменили более старые 5-битные коды, обеспечив поддержку строчных букв и большего количества управляющих команд.

Ранние вычислительные системы

В 1960–1980-х годах 7-битные кодировки использовались в операционных системах (например, CP/M, ранние версии MS-DOS), текстовых редакторах, языках программирования (FORTRAN, COBOL, C) и протоколах передачи данных (например, SMTP для электронной почты изначально передавал только 7-битный текст).

Протоколы передачи данных

Многие сетевые протоколы (например, SMTP, NNTP, HTTP в ранних версиях) были рассчитаны на передачу только 7-битных символов. Для передачи 8-битных данных (например, изображений) использовались специальные кодировки, такие как Base64 и quoted-printable.

Ограничения

Основным недостатком 7-битных наборов является их ограниченная ёмкость. 128 символов недостаточно для одновременного представления латиницы, кириллицы, греческого алфавита, математических символов и иероглифов. Это привело к:

  • Путанице с кодировками: При передаче текста между разными системами, использующими разные национальные варианты, возникали искажения (например, русский текст, набранный в КОИ-7, отображался как латинские буквы при чтении в ASCII).
  • Необходимости перекодировки: Для корректного отображения текста требовалось знать, какая кодировка использовалась при его создании.

Значение и наследие

Несмотря на то, что в современных системах (начиная с 1990-х годов) повсеместно используются 8-битные кодировки (Windows-1251, KOI-8R) и Unicode (UTF-8), 7-битный ASCII остаётся фундаментальной основой. Он составляет первую половину таблицы всех современных кодировок, и его символы (латиница, цифры, знаки препинания) обрабатываются одинаково во всех системах. ASCII также является основой для многих протоколов интернета (SMTP, HTTP, FTP) и языков разметки (HTML, XML).

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

  • В оригинальном ASCII символ «@» (коммерческое at) имел код 64 и использовался в телеграфии для обозначения «по цене» (at the rate of).
  • Управляющий символ BEL (код 7) при отправке на терминал вызывал звуковой сигнал (звонок).
  • Символ DEL (код 127) изначально предназначался для физического удаления данных на перфоленте: пробивка всех семи дырок стирала любой символ.
  • В 7-битной кодировке ASCII буква «A» имеет код 65 (1000001 в двоичной системе), а «a» — 97 (1100001). Разница между строчными и заглавными буквами составляет 32, что соответствует одному биту (шестому).

Источники

  • American National Standards Institute. American Standard Code for Information Interchange (ASCII). ANSI X3.4-1968.
  • Mackenzie, Charles E. Coded Character Sets: History and Development. Addison-Wesley, 1980.
  • ГОСТ 13052-74. Код обмена информацией. 7-битный код. Государственный комитет СССР по стандартам, 1974.
  • Документация по операционной системе ЕС ЭВМ (ОС ЕС). Система кодирования КОИ-7. 1970-е гг.

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

На главную BFOmetr →