ASCII


ASCII (англ. American standard code for information interchange, [ˈæs.ki][1]) — стандарт кодирования знаков латинского алфавита, цифр, некоторых специальных знаков и управляющих последовательностей, принятый в 1963 году Американской ассоциацией стандартов как основной способ представления текстовых данных в ЭВМ[2].

Стандарт ASCII представляет собой семиразрядный код без рекомендаций относительно контроля чётности, содержащий 128 кодовых позиций[3]. Таблица ASCII определяет коды для символов:

С развитием вычислительной техники и языков программирования, возможностей международного телеграфного кода стало не хватать, что вынуждало производителей ЭВМ придумывать свои расширения или собственные коды. Кроме того, для записи на перфокарты использовались различные варианты кода Холлерита. Таким образом 1960-х годов существовало достаточно большое количество таблиц кодирования латинских символов как для передачи по линиям связи, так и для записи на магнитную ленту, перфоленту и перфокарты: такие, как CCITT #2, FIELDATA, BCDIC, IPC и т.д.[4][2], причём даже в рамках одной кодовой таблицы один код мог соответствовать разным символам в зависимости от конкретной модели устройства и его назначения. Чтобы решить эту проблему 4 августа 1960 года был созван комитет X3.2, как часть комитета X3, сформированного в в январе того же года. В этот комитет входили представители компаний IBM (в частности Боб Бемер[en]), AT&T и Bell Labs и других. После долгих дебатов в 1963 году была принята первая версия стандарта ASCII[5].

Изначально ASCII была разработана для кодирования символов, коды которых помещались в 7 бит (128 символов; 27=128), а старший бит №7 (нумерация с нуля) использовался для контроля ошибок, возникших при передаче данных. В первой версии кодировались только заглавные буквы. Полосы (группы по 16 символов) № 6 и 7 (нумерация начинается с 0) были зарезервированы для дальнейшего расширения[6]. Велись споры, использовать ли эту область для строчных букв или управляющих символов.

В 1965 году была подготовлена новая редакция ASCII[7], которая так и не была опубликована[8]. Она не использовалась нигде, кроме терминалов IBM 2260/2848 и принтеров IBM 1053 — и то без заглавных букв и некоторых символов[9]. Окончательная спецификация была опубликована в 1967 году[10][11], и все содержащиеся в ней символы в дальнейшем не меняли своего положения в таблице.

В целом, компания IBM долгое время саботировала внедрение ASCII, предпочтя собственную кодовую таблицу EBCDIC, основанную на коде Холлерита[5].