ASCII


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

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

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

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

В 1965 году была подготовлена новая редакция ASCII (ASA X3.4-1965), которая, однако, так и не была опубликована и не использовалась нигде, кроме терминалов IBM 2260/2848 и принтеров IBM 1053 (да и то без строчных букв и некоторых других символов)[9]. Следующая редакция ASCII (USAS X3.4-1967) была опубликована 5 июля 1967 года и определила окончательную кодовую таблицу[10]. Новые редакции ASCII продолжили выходить и далее (USAS X3.4-1968, ANSI X3.4-1977, ANSI X3.4-1986), однако кодовую таблицу изменения в них уже не затрагивали.

В целом, внедрение ASCII долгое время саботировалось компанией IBM, отдававшей предпочтение собственной кодировке EBCDIC, являющейся дальнейшим развитием кодировки BCDIC, также созданной IBM и основанной, в свою очередь, на коде Холлерита[6].