Страница полузащищенная
Из Википедии, бесплатной энциклопедии
  (Перенаправлено с Ascii )
Перейти к навигации Перейти к поиску

ASCII ( / æ s к я / ( слушать ) Об этом звуке ASS -kee ), [3] : 6 сокращенно от американского стандартного кода для обмена информации , является кодировка символов стандарта для электронной связи. Коды ASCII представляют текст в компьютерах, телекоммуникационном оборудовании и других устройствах. Большинство современных схем кодирования символов основаны на ASCII, хотя они поддерживают множество дополнительных символов.

Управление по присвоению номеров в Интернете (IANA) предпочитает имя US-ASCII для этой кодировки символов. [2]

ASCII - одна из вех IEEE .

Обзор

ASCII был разработан на основе телеграфного кода . Его первое коммерческое использование было семибитным кодом телетайпа, продвигаемым Bell Data Services. Работа над стандартом ASCII началась 6 октября 1960 года на первом заседании подкомитета X3.2 Американской ассоциации стандартов (ASA) (ныне Американский национальный институт стандартов или ANSI). Первое издание стандарта было опубликовано в 1963 г. [4] [5] претерпело значительные изменения в течение 1967 г. [6] [7], а последнее обновление было внесено в 1986 г. [8]По сравнению с более ранними телеграфными кодами, предлагаемый код Белла и ASCII были упорядочены для более удобной сортировки (т. Е. По алфавиту) списков и дополнительных функций для устройств, отличных от телетайпов. [ необходима цитата ]

Использование формата ASCII для сетевого обмена было описано в 1969 году. [9] Этот документ был официально повышен до уровня Интернет-стандарта в 2015 году. [10]

Первоначально основанный на английском алфавите , ASCII кодирует 128 заданных символов в семибитовые целые числа, как показано на диаграмме ASCII выше. [11] Девяносто пять закодированных символов можно распечатать: это цифры от 0 до 9 , строчные буквы от a до z , прописные буквы от A до Z и символы пунктуации . Кроме того, исходная спецификация ASCII включала 33 непечатаемых управляющих кода, которые были созданы с помощью телетайпов ; большинство из них уже устарели, [12]хотя некоторые из них до сих пор широко используется, например, возврат каретки , перевод строки и табуляции кодов.

Например, строчная буква i будет представлена ​​в кодировке ASCII двоичным кодом 1101001 = шестнадцатеричный 69 ( i - девятая буква) = десятичный 105.

История

ASCII (1963). Контрольные изображения эквивалентных элементов управления показаны там, где они существуют, или серой точкой в ​​противном случае.

Американский стандартный код для обмена информацией (ASCII) был разработан под эгидой комитета Американской ассоциации стандартов (ASA), называемого комитетом X3, его подкомитетом X3.2 (позже X3L2), а позже - подкомитетом X3 этого подкомитета. 2.4 рабочая группа (сейчас INCITS ). ASA стал Институтом стандартов Соединенных Штатов Америки (USASI) [3] : 211 и, в конечном итоге, Американским национальным институтом стандартов (ANSI).

С заполненными другими специальными символами и управляющими кодами ASCII был опубликован как ASA X3.4-1963 [5] [13], оставив 28 кодовых позиций без какого-либо присвоенного значения, зарезервированного для будущей стандартизации, и один неназначенный управляющий код. [3] : 66, 245 В то время велись споры о том, должно ли быть больше управляющих символов, а не строчных букв. [3] : 435 Нерешительность длилась недолго: в мае 1963 года рабочая группа CCITT по новому телеграфному алфавиту предложила назначить строчные буквы на палочки [a] [14] 6 и 7, [15] и Международная организация по стандартизацииВ октябре TC 97 SC 2 проголосовал за включение изменения в проект стандарта. [16] Целевая группа X3.2.4 проголосовала за изменение ASCII на своем собрании в мае 1963 года. [17] локационная строчные буквы в палочках [а] [14] 6 и 7 , вызванные символы , которые различаются по битовой комбинации из верхнего корпуса с помощью одного бита, который упрощенного регистронезависимого согласования символов и конструкции клавиатуры и принтеров.

Комитет X3 внес другие изменения, включая другие новые символы ( скобки и вертикальные черты), [18] переименование некоторых управляющих символов (SOM стало началом заголовка (SOH)) и перемещение или удаление других (RU был удален). [3] : 247–248 ASCII был впоследствии обновлен как USAS X3.4-1967, [6] [19], затем USAS X3.4-1968, ANSI X3.4-1977 и, наконец, ANSI X3.4-1986. [8] [20]

Изменения стандарта ASCII:

  • ASA X3.4-1963 [3] [5] [19] [20]
  • ASA X3.4-1965 (утвержден, но не опубликован, тем не менее, используется станциями дисплея IBM 2260 и 2265 и системой управления дисплеем IBM 2848 ) [3] : 423, 425–428, 435–439 [21] [19] [20]
  • USAS X3.4-1967 [3] [6] [20]
  • USAS X3.4-1968 [3] [20]
  • ANSI X3.4-1977 [20]
  • ANSI X3.4-1986 [8] [20]
  • ANSI X3.4-1986 (R1992)
  • ANSI X3.4-1986 (R1997)
  • ANSI INCITS 4-1986 (R2002) [22]
  • ANSI INCITS 4-1986 (R2007) [23]
  • (ANSI) INCITS 4-1986 [R2012] [24]
  • (ANSI) INCITS 4-1986 [R2017] [25]

В стандарте X3.15 комитет X3 также рассмотрел, как следует передавать ASCII ( сначала младший бит ), [3] : 249–253 [26] и как его следует записывать на перфорированную ленту. Они предложили 9-дорожечный стандарт для магнитной ленты и попытались иметь дело с некоторыми форматами перфокарт .

Соображения по дизайну

Битовая ширина

Подкомитет X3.2 разработал ASCII на основе более ранних систем кодирования телетайпов. Как и другие кодировки символов , ASCII определяет соответствие между цифровыми битовыми комбинациями и символьными символами (т. Е. Графемами и управляющими символами ). Это позволяет цифровым устройствам взаимодействовать друг с другом, а также обрабатывать, хранить и передавать символьную информацию, такую ​​как письменный язык. До того, как был разработан ASCII, используемые кодировки включали 26 буквенных символов, 10 числовых цифр и от 11 до 25 специальных графических символов. Чтобы включить все это, а также управляющие символы, совместимые сComité Consultatif International Téléphonique et Télégraphique (CCITT) Стандарт международного телеграфного алфавита № 2 (ITA2) 1924 года, [27] [28] FIELDATA (1956 [ требуется ссылка ] ) и ранний EBCDIC (1963), требовалось более 64 кодов для ASCII.

ITA2, в свою очередь, основывалась на 5-битном телеграфном коде Эмиля Бодо, изобретенном в 1870 году и запатентованном в 1874 году. [28]

Комитет обсудил возможность использования функции сдвига (как в ITA2 ), которая позволила бы представить более 64 кодов шестибитным кодом . В сдвинутом коде некоторые коды символов определяют выбор между вариантами следующих кодов символов. Он допускает компактное кодирование, но менее надежен для передачи данных , поскольку ошибка при передаче кода сдвига обычно делает нечитаемую длинную часть передачи. Комитет по стандартам отказался от сдвига, и поэтому ASCII требовал как минимум семибитного кода. [3] : 215, 236 § 4

Комитет рассмотрел восьмибитный код, поскольку восемь битов ( октетов ) позволили бы двум четырехбитным шаблонам эффективно кодировать две цифры с помощью двоичного десятичного числа . Однако для передачи всех данных потребуется восемь битов, когда достаточно семи. Комитет проголосовал за использование семибитного кода для минимизации затрат, связанных с передачей данных. Поскольку в то время перфорированная лента могла записывать восемь бит в одной позиции, при желании можно было использовать бит четности для проверки ошибок . [3] : 217, 236 §5 Восьмибитные машины (с октетами в качестве собственного типа данных), которые не использовали проверку четности, обычно устанавливают восьмой бит в 0. [29]

Внутренняя организация

Сам код был составлен таким образом, чтобы большинство управляющих кодов были вместе, а все графические коды были вместе, для удобства идентификации. Первые два так называемых стика ASCII [a] [14] (32 позиции) были зарезервированы для управляющих символов. [3] : 220, 236 8,9) Символ «пробел» должен был стоять перед графикой, чтобы упростить сортировку , поэтому он стал шестнадцатеричной позицией 20 ; [3] : 237 §10 по той же причине многие специальные знаки, обычно используемые в качестве разделителей, ставились перед цифрами. Комитет решил, что важно поддерживать 64- значные буквы верхнего регистра. , и выбрал шаблон ASCII, чтобы его можно было легко свести к используемому 64-символьному набору графических кодов, [3] : 228, 237 §14, как это было сделано в коде DEC SIXBIT (1963). Поэтому строчные буквы не чередуются с прописными. Чтобы сохранить параметры, доступные для строчных букв и другой графики, специальные и числовые коды были расположены перед буквами, а буква A была помещена в шестнадцатеричную позицию 41, чтобы соответствовать проекту соответствующего британского стандарта. [3] : 238 §18 Цифры 0–9 имеют префикс 011, но оставшиеся 4 бита соответствуют их соответствующим значениям в двоичном формате, выполняя преобразование с помощьюдвоично-десятичная дробь просто.

Многие из не буквенно-цифровых символов были расположены так, чтобы соответствовать их смещенному положению на пишущих машинках; Важная тонкость заключается в том, что они были основаны на механических пишущих машинках, а не на электрических . [30] Механические пишущие машинки следовали стандарту, установленному Remington No. 2 (1878 г.), первой пишущей машинке с клавишей Shift, и сдвинутые значения 23456789-были "#$%_&'() - ранние пишущие машинки опускали 0 и 1 , используя O (заглавная буква o ) и l. (строчная буква L ) вместо этого, но 1!и 0)пары стали стандартными, как только 0 и 1 стали общими. Таким образом, в ASCII!"#$%были помещены во второй джойстик, [a] [14] позиции 1–5, соответствующие цифрам 1–5 на соседнем джойстике. [a] [14] Скобки не могут соответствовать 9 и 0 , потому что место, соответствующее 0, занимает пробел. Это было выполнено путем удаления _(подчеркивания) из 6 и сдвига оставшихся символов, что соответствовало многим европейским пишущим машинкам, которые помещали круглые скобки с 8 и 9 . Это несоответствие с пишущими машинками привело к парным клавиатурам , особенно к Teletype Model 33., в котором использовалась раскладка со смещением влево, соответствующая ASCII, а не традиционным механическим пишущим машинкам. Электрические пишущие машинки, особенно IBM Selectric (1961), использовали несколько иную компоновку, которая стала стандартной для компьютеров - после IBM PC (1981), особенно Model M (1984) - и, таким образом, значения сдвига для символов на современных клавиатурах не соответствуют так же близко к таблице ASCII, как и предыдущие клавиатуры. /?Пара также даты к № 2, и ,< .>пар были использованы на некоторых клавиатурах (другие, в том числе № 2, не перекладывал ,(запятая) или .(полная остановка) , чтобы они могли быть использованы в верхнем регистре без unshifting). Однако ASCII разделил;:пара (датируемая № 2) и переставленные математические символы (обычно в различных условных обозначениях -* =+) на :* ;+ -=.

Некоторые общие символы не были включены, в частности ½¼¢, в то время как ^`~были включены в качестве диакритических знаков для международного использования и <>для математического использования вместе с простыми строчными символами \|(в дополнение к общим /). Символ @ не использовался в континентальной Европе, и комитет ожидал, что он будет заменен акцентированным À во французском варианте, поэтому @ был помещен в шестнадцатеричную позицию 40 , прямо перед буквой A. [3] : 243

Коды управления, которые считались важными для передачи данных, включали начало сообщения (SOM), конец адреса (EOA), конец сообщения (EOM), конец передачи (EOT), «кто вы?» (WRU), "ты?" (RU), управление зарезервированным устройством (DC0), синхронный режим ожидания (SYNC) и подтверждение (ACK). Они были расположены так, чтобы максимизировать расстояние Хэмминга между их битовыми комбинациями. [3] : 243–245

Порядок персонажей

Порядок ASCII-код также называется ASCIIbetical заказ. [31] Сопоставление данных иногда выполняется в этом порядке, а не в «стандартном» алфавитном порядке ( последовательность сопоставления ). Основные отклонения в порядке ASCII:

  • Все прописные буквы идут перед строчными; например, "Z" предшествует "a"
  • Цифры и многие знаки препинания ставятся перед буквами

Промежуточный порядок преобразует прописные буквы в строчные перед сравнением значений ASCII.

Группы персонажей

Управляющие символы

ASCII резервирует первые 32 кода (десятичные числа 0–31) для управляющих символов : коды, изначально предназначенные не для представления информации для печати, а для управления устройствами (например, принтерами ), использующими ASCII, или для предоставления метаинформации о данных. потоки, например, хранящиеся на магнитной ленте.

Например, символ 10 представляет функцию «перевода строки» (которая заставляет принтер продвигать бумагу), а символ 8 представляет собой «возврат». RFC  2822 относится к управляющим символам, которые не включают возврат каретки, перевод строки или пробелы, как непробельные управляющие символы. [32] За исключением управляющих символов, которые предписывают элементарное строчно-ориентированное форматирование, ASCII не определяет какой-либо механизм для описания структуры или внешнего вида текста в документе. Другие схемы, такие как языки разметки , разметка и форматирование адресной страницы и документа.

Исходный стандарт ASCII использовал только короткие описательные фразы для каждого управляющего символа. Вызванная этим неоднозначность иногда была преднамеренной, например, когда символ использовался в оконечной ссылке несколько иначе, чем в потоке данных , а иногда случайно, например, со значением «удалить».

Вероятно, наиболее влиятельным устройством для интерпретации этих символов был Teletype Model 33 ASR, который представлял собой печатный терминал с доступным устройством чтения / перфорации бумажной ленты . Бумажная лента была очень популярным носителем для долгосрочного хранения программ до 1980-х годов, менее дорогостоящим и в некоторых отношениях менее хрупким, чем магнитная лента. В частности, машинные назначения Teletype Model 33 для кодов 17 (Control-Q, DC1, также известный как XON), 19 (Control-S, DC3, также известный как XOFF) и 127 ( Удалить) стали де-факто стандартами. Модель 33 также примечательна тем, что буквально воспринимает описание Control-G (код 7, BEL, означающее звуковое оповещение оператора), поскольку устройство содержало настоящий звонок, который он звонил, когда получал символ BEL. Поскольку верхняя часть клавиши для клавиши O также имела символ стрелки влево (из ASCII-1963, который имел этот символ вместо подчеркивания ), несоответствующее использование кода 15 (Control-O, Shift In) интерпретировалось как «удалить предыдущий символ» был также принят во многих ранних системах разделения времени, но в конечном итоге стал игнорироваться.

Когда Teletype 33 ASR, оборудованный автоматическим считывателем бумажной ленты, получил Control-S (XOFF, аббревиатура от слова "передача выключена"), это заставляло читатель ленты останавливаться; получение Control-Q (XON, «передача включена») заставило ленточный ридер возобновить работу. Этот метод был принят несколькими ранними компьютерными операционными системами в качестве сигнала «квитирования», предупреждающего отправителя о прекращении передачи из-за надвигающегося переполнения; он сохраняется и по сей день во многих системах как метод ручного управления выводом. В некоторых системах Control-S сохраняет свое значение, но Control-Q заменяется вторым Control-S для возобновления вывода. 33 ASR также может быть сконфигурирован для использования Control-R (DC2) и Control-T (DC4) для запуска и остановки перфорации ленты; на некоторых устройствах, оснащенных этой функцией,соответствующая буква управляющего символа на крышке клавиатуры над буквой была ЛЕНТА иЛЕНТА соответственно. [33]

Удалить и Backspace

Телетайп не мог повернуть голову назад, поэтому он не помещал клавишу на клавиатуре для отправки BS (backspace). Вместо этого был помечен ключ, RUB OUTкоторый отправлял код 127 (DEL). Назначение этого ключа состояло в том, чтобы стереть ошибки на бумажной ленте, набранной вручную: оператору нужно было нажать кнопку на перфораторе, чтобы закрепить его, затем набрать протирку, которая пробивала все отверстия и заменяла ошибку символом, который должен был игнорироваться. [34] Телетайпы обычно использовались для менее дорогих компьютеров от Digital Equipment Corporation , поэтому эти системы должны были использовать доступный ключ и, следовательно, код DEL для стирания предыдущего символа. [35] [36]Из-за этого видеотерминалы DEC (по умолчанию) отправляли код DEL для клавиши с пометкой «Backspace», в то время как клавиша с пометкой «Delete» отправляла escape-последовательность, в то время как многие другие терминалы отправляли BS для клавиши Backspace. Драйвер терминала Unix мог использовать только один код для стирания предыдущего символа, он мог быть установлен на BS или DEL, но не на оба, что приводило к длительному периоду раздражения, когда пользователям приходилось исправлять его в зависимости от того, какой терминал они использовали (оболочки которые позволяют редактировать строки, такие как ksh , bash и zsh , понимают оба). Предположение, что никакой ключ не отправил BS, привело к тому, что Control + H использовался для других целей, таких как префиксная команда "help" в GNU Emacs . [37]

Побег

Многие другие управляющие коды получили значения, совершенно отличные от их первоначальных. Например, «escape-символ» (ESC, код 27) изначально предназначался для того, чтобы разрешить отправку других управляющих символов в виде литералов вместо того, чтобы вызывать их значение. Это то же значение «escape», которое встречается в кодировках URL, строках языка C и других системах, где определенные символы имеют зарезервированное значение. Со временем это значение было адаптировано и в конечном итоге было изменено. В современном использовании ESC, отправляемый на терминал, обычно указывает на начало последовательности команд, обычно в форме так называемого « escape-кода ANSI » (или, точнее, « Control Sequence Introducer") из ECMA-48 (1972) и его преемников, начиная с ESC, за которым следует символ" ["(левая скобка). ESC, отправляемый с терминала, чаще всего используется как внеполосный символ, используемый для завершения операция, как и в TECO и VI текстовых редакторов . в графическом интерфейсе пользователя (GUI) и оконные системы, ESC , как правило , вызывает приложение , чтобы прервать его текущую операцию или на выход (прервать) в целом.

Конец линии

Присущая многим управляющим символам неоднозначность в сочетании с их историческим использованием создавала проблемы при передаче файлов «простого текста» между системами. Лучшим примером этого является проблема новой строки в различных операционных системах . В телетайпах требовалось, чтобы строка текста оканчивалась как «Возврат каретки» (который перемещает печатающую головку в начало строки), так и «Подачей строки» (которая продвигает бумагу на одну строку без перемещения печатающей головки). Название «Возврат каретки» происходит от того, что на ручной пишущей машинкекаретка, удерживающая бумагу, двигалась, в то время как положение, в котором шрифты касались ленты, оставалось неизменным. Всю каретку нужно было сдвинуть (вернуть) вправо, чтобы расположить левое поле бумаги для следующей строки.

Операционные системы DEC ( OS / 8 , RT-11 , RSX-11 , RSTS , TOPS-10 и т. Д.) Использовали оба символа для обозначения конца строки, чтобы консольное устройство (первоначально машины Teletype ) могло работать. К тому времени, когда появились так называемые «стеклянные TTY» (позже названные ЭЛТ или терминалы), соглашение было настолько прочно закреплено, что обратная совместимость потребовала продолжения этого соглашения. Когда Килдалл создал CP / M , он был вдохновлен некоторыми конвенциями интерфейса командной строки , используемых в Декабре «s RT-11 . До появления PC DOS в 1981 году IBMне имели к этому никакого отношения, потому что их операционные системы 1970-х годов использовали EBCDIC вместо ASCII, и они были ориентированы на ввод с перфокарт и вывод на строчный принтер, в которых концепция возврата каретки была бессмысленной. IBM PC DOS (также позиционируемая как MS-DOS Microsoft) унаследовала это соглашение в силу того, что она была частично основана на CP / M [38], а Windows унаследовала его от MS-DOS.

К сожалению, требование двух символов для обозначения конца строки создает ненужную сложность и вопросы о том, как интерпретировать каждый символ, когда он встречается отдельно. Чтобы упростить задачу, потоки данных в виде обычного текста , включая файлы, в Multics [39] использовали только перевод строки (LF) в качестве признака конца строки. Unix и Unix-подобные системы, а также системы Amiga переняли это соглашение от Multics. В исходных версиях Macintosh OS , Apple DOS и ProDOS , с другой стороны, в качестве ограничителя строки использовался только возврат каретки (CR); однако, поскольку Apple заменила эти операционные системы на macOS на базе Unixоперационной системы, теперь они также используют перевод строки (LF). Radio Shack TRS-80 также использовал одиночный CR для завершения линий.

Компьютеры, подключенные к ARPANET, включали машины, работающие под управлением операционных систем, таких как TOPS-10 и TENEX, использующие окончания строк CR-LF, машины под управлением операционных систем, таких как Multics, использующие окончания строк LF, и машины, работающие под управлением операционных систем, таких как OS / 360, которые представляли строки как количество символов, за которым следуют символы строки, и в котором используется EBCDIC, а не ASCII. Протокол Telnet определяет виртуальный сетевой терминал ASCII."(NVT), чтобы соединения между хостами с разными соглашениями об окончании строк и наборами символов могли поддерживаться путем передачи стандартного текстового формата по сети. Telnet использовал ASCII вместе с окончаниями строк CR-LF, а программное обеспечение, использующее другие соглашения, переводило между местными конвенциями и NVT. [40] Протокол передачи файлов принят протокол Telnet, включая использование сетевого виртуального терминала, для использования при передаче команд и передачи данных в режиме ASCII - умолчанию. [41] [42] Это добавляет сложность реализации этих протоколов, а также других сетевых протоколов, таких как используемые для электронной почты и World Wide Web, в системах, не использующих соглашение NVT о завершении строки CR-LF. [43][44]

Конец файла / потока

Монитор PDP-6, [35] и его преемник PDP-10, TOPS-10, [36] использовали Control-Z (SUB) в качестве индикатора конца файла для ввода с терминала. Некоторые операционные системы, такие как CP / M, отслеживали длину файла только в единицах дисковых блоков и использовали Control-Z, чтобы отметить конец фактического текста в файле. [45] По этим причинам EOF, или конец файла , использовался в разговорной речи и традиционно как трехбуквенный акроним для Control-Z вместо SUBstitute. Код конца текста ( ETX ), также известный как Control-C , был неподходящим по ряду причин, в то время как использование Z в качестве управляющего кода для завершения файла аналогично завершению алфавита и служит очень удобныммнемоническая помощь . Исторически распространенное и все еще распространенное соглашение использует соглашение кода ETX для прерывания и остановки программы через поток входных данных, обычно с клавиатуры.

В соглашениях библиотеки C и Unix нулевой символ используется для завершения текстовых строк ; такие строки с завершающим нулем могут называться сокращенно ASCIZ или ASCIIZ, где Z означает «ноль».

Таблица контрольных кодов

Другие изображения могут использоваться специальным оборудованием, например графика ISO 2047 или шестнадцатеричные числа.

Печатные символы

Коды от 20 шестнадцатеричного до 7E шестнадцатеричного , известные как печатные символы, представляют буквы, цифры, знаки препинания и несколько разных символов. Всего имеется 95 печатных символов. [м]

Шестнадцатеричный код 20 , символ «пробел» , обозначает пробел между словами, который создается клавишей пробела на клавиатуре. Поскольку пробел считается невидимым изображением (а не управляющим символом) [3] : 223 [46], он указан в таблице ниже, а не в предыдущем разделе.

Шестнадцатеричный код 7F соответствует непечатаемому управляющему символу «удалить» (DEL) и поэтому не указан в этой таблице; это описано в диаграмме предыдущего раздела. Более ранние версии ASCII использовали стрелку вверх вместо каретки (5E в шестнадцатеричном формате ) и стрелку влево вместо подчеркивания (5F в шестнадцатеричном формате ). [5] [47]

Набор символов

Пункты, которые представляли другой символ в предыдущих версиях (версия 1963 года и / или черновик 1965 года), показаны рамками. Очки, присвоенные с версии 1963 года, но в остальном не изменившиеся, показаны слегка затененными относительно цвета их легенды.

  Письмо  Число  Пунктуация  Символ  Другой  Неопределенный  Изменен персонаж с версии 1963 года и / или проекта 1965 года.

Использовать

ASCII был впервые использован в коммерческих целях в 1963 году как семибитный код телетайпа для сети TWX (TeletypeWriter eXchange) компании American Telephone & Telegraph . Первоначально TWX использовал более ранний пятиразрядный ITA2 , который также использовался конкурирующей системой телетайпа Telex . Боб Бемер представил такие функции, как escape-последовательность . [4] Его британский коллега Хью МакГрегор Росс помог популяризировать эту работу - по словам Бемера, «настолько, что код, который должен был стать ASCII, впервые в Европе был назван кодом Бемера – Росса ». [48] Из-за его обширной работы над ASCII, Бемера называют «отцом ASCII».[49]

11 марта 1968 года президент США Линдон Б. Джонсон потребовал, чтобы все компьютеры, приобретенные федеральным правительством США, поддерживали кодировку ASCII, заявив: [50] [51] [52]

Я также одобрил рекомендации министра торговли [ Лютера Х. Ходжеса ] относительно стандартов записи Стандартного кода для обмена информацией на магнитных лентах и ​​бумажных лентах, когда они используются в компьютерных операциях. Все компьютеры и связанное с ними оборудование, внесенные в реестр Федерального правительства 1 июля 1969 года и после этой даты, должны иметь возможность использовать Стандартный код для обмена информацией и форматы, предписанные стандартами на магнитную ленту и бумажную ленту, когда используются эти носители.

ASCII был наиболее распространенной кодировкой символов во всемирной паутине до декабря 2007 года, когда кодировка UTF-8 превзошла ее; UTF-8 обратно совместим с ASCII. [53] [54] [55]

Варианты и производные

По мере распространения компьютерных технологий по всему миру различные органы стандартизации и корпорации разработали множество вариантов ASCII для облегчения выражения неанглийских языков, в которых использовались алфавиты на основе латиницы. Некоторые из этих вариантов можно было бы классифицировать как « расширения ASCII », хотя некоторые неправильно используют этот термин для представления всех вариантов, включая те, которые не сохраняют карту символов ASCII в 7-битном диапазоне. Кроме того, расширения ASCII также были ошибочно обозначены как ASCII.

7-битные коды

С самого начала своего развития [56] ASCII задумывался как один из нескольких национальных вариантов международного стандарта символьных кодов.

Другие международные органы по стандартизации ратифицировали кодировки символов, такие как ISO 646 (1967), которые идентичны или почти идентичны ASCII, с расширениями для символов вне английского алфавита и символов, используемых за пределами Соединенных Штатов, таких как символ фунта стерлингов Соединенного Королевства. (£). Почти каждой стране нужна была адаптированная версия ASCII, поскольку ASCII удовлетворяла потребности только США и некоторых других стран. Например, в Канаде была собственная версия, поддерживающая французские символы.

Многие другие страны разработали варианты ASCII для включения неанглийских букв (например, é , ñ , ß , Ł ), символов валюты (например, £ , ¥ ) и т. Д. См. Также YUSCII (Югославия).

Он будет иметь большинство общих символов, но назначать другие локально полезные символы нескольким кодовым точкам, зарезервированным для «национального использования». Однако четыре года, прошедшие между публикацией ASCII-1963 и первым принятием ISO международной рекомендации в 1967 году [57], привели к тому, что выбор ASCII для национальных символов использования стал казаться фактическими стандартами для всего мира, вызывая путаницу и несовместимость. как только другие страны начали делать свои собственные присвоения этим кодовым точкам.

ISO / IEC 646, как и ASCII, представляет собой 7-битный набор символов. Он не предоставляет никаких дополнительных кодов, поэтому одни и те же кодовые точки кодируют разные символы в разных странах. Коды выхода были определены, чтобы указать, какой национальный вариант применяется к фрагменту текста, но они редко использовались, поэтому часто было невозможно узнать, с каким вариантом работать и, следовательно, какой символ представляет код, и в целом текст. В любом случае процессинговые системы могли справиться только с одним вариантом.

Поскольку скобки и фигурные скобки в ASCII были присвоены кодовым точкам «национального использования», которые использовались для букв с диакритическими знаками в других национальных вариантах ISO / IEC 646, немецкий, французский или шведский и т. Д. Программист использовал свой национальный вариант ISO / IEC 646, а не ASCII, должен был записать и, следовательно, прочитать что-то вроде

ä aÄiÜ = 'Ön'; ü

вместо

{ a[i] = '\n'; }

Триграфы C были созданы для решения этой проблемы для ANSI C , хотя их позднее введение и непоследовательная реализация в компиляторах ограничили их использование. Многие программисты использовали на своих компьютерах кодировку US-ASCII, поэтому простой текст на шведском, немецком и т. Д. (Например, в электронной почте или в Usenet ) содержал "{,}" и подобные варианты в середине слов, что и получили эти программисты. привыкший. Например, шведский программист, отправивший другому программисту письмо с просьбой пойти на обед, мог получить в качестве ответа «N {jag har sm | rg} sar», который должен быть «Nä jag har smörgåsar», что означает «Нет, у меня есть бутерброды ».

В Японии и Корее еще с 2020-х годов используется вариант ASCII, в котором обратная косая черта (5C в шестнадцатеричном формате ) отображается как ¥ ( знак йены в Японии) или ₩ ( знак вон в Корее). Это означает, что, например, путь к файлу C: \ Users \ Smith отображается как C: ¥ Users ¥ Smith (в Японии) или C: Users ₩ Smith (в Корее).

8-битные коды

В конце концов, когда 8-, 16- и 32-разрядные (а позже и 64-разрядные ) компьютеры стали заменять 12- , 18- и 36-разрядные компьютеры в качестве нормы, стало обычным использование 8-разрядных байтов для хранения каждого символ в памяти, что дает возможность использовать расширенные 8-битные родственники ASCII. В большинстве случаев они развивались как истинные расширения ASCII, оставляя исходное отображение символов нетронутым, но добавляя дополнительные определения символов после первых 128 (т. Е. 7-битных) символов.

Кодировки включают ISCII (Индия), VISCII (Вьетнам). Хотя эти кодировки иногда называют ASCII, истинный ASCII определяется строго только стандартом ANSI.

Большинство ранних домашних компьютерных систем разработали свои собственные 8-битные наборы символов, содержащие рисование линий и игровые глифы, и часто заполняли некоторые или все управляющие символы от 0 до 31 дополнительной графикой. В компьютерах Kaypro CP / M использовались «верхние» 128 символов греческого алфавита.

PETSCII код Коммодор Международный используется для их 8-битных систем, вероятно , уникален среди пост-1970 кодов в настоящее время на основе ASCII-1963, вместо более общего ASCII-1967, например , как найти на ZX Spectrum компьютера. 8-битные компьютеры Atari и компьютеры Galaksija также использовали варианты ASCII.

IBM PC определила кодовую страницу 437 , которая заменяла управляющие символы графическими символами, такими как смайлы , и отображала дополнительные графические символы на верхние 128 позиций. Операционные системы, такие как DOS, поддерживали эти кодовые страницы, а производители компьютеров IBM поддерживали их аппаратно. Digital Equipment Corporation разработала многонациональный набор символов (DEC-MCS) для использования в популярном терминале VT220 в качестве одного из первых расширений, предназначенных больше для международных языков, чем для блочной графики. Macintosh определил Mac OS Роман и Postscript также определил набор, оба из которых содержали как международные буквы, так и типографские знаки препинания вместо графики, больше похожей на современные наборы символов.

Стандарт ISO / IEC 8859 (производный от DEC-MCS), наконец, предоставил стандарт, который копирует большинство систем (по крайней мере, так же точно, как они копировали ASCII, но со многими заменами). Еще одно популярное расширение, разработанное Microsoft, Windows-1252 (часто ошибочно обозначается как ISO-8859-1 ), добавило типографские знаки препинания, необходимые для традиционной печати текста. ISO-8859-1, Windows-1252 и исходный 7-битный ASCII были наиболее распространенными кодировками символов до 2008 года, когда UTF-8 стал более распространенным. [54]

ISO / IEC 4873 представил 32 дополнительных управляющих кода, определенных в шестнадцатеричном диапазоне 80–9F , как часть расширения 7-битного кодирования ASCII до 8-битной системы. [58]

Юникод

Unicode и универсальный набор символов (UCS) ISO / IEC 10646 имеют гораздо более широкий набор символов, и их различные формы кодирования начали быстро вытеснять ISO / IEC 8859 и ASCII во многих средах. В то время как ASCII ограничен 128 символами, Unicode и UCS поддерживают больше символов, разделяя концепции уникальной идентификации (с использованием натуральных чисел, называемых кодовыми точками ) и кодирования (для 8-, 16- или 32-битных двоичных форматов, называемых UTF-8. , UTF-16 и UTF-32 ).

ASCII был включен в набор символов Unicode (1991) как первые 128 символов, поэтому 7-битные символы ASCII имеют одинаковые числовые коды в обоих наборах. Это позволяет UTF-8 , чтобы быть обратно совместим с 7-битного ASCII, в виде файла в UTF-8 , содержащий только ASCII символов идентичен файла ASCII , содержащего ту же последовательность символов. Что еще более важно, прямая совместимость обеспечивается программным обеспечением, которое распознает только 7-битные символы ASCII как специальные и не изменяет байты с наивысшим битом (как это часто делается для поддержки 8-битных расширений ASCII, таких как ISO-8859-1). сохранит данные UTF-8 без изменений. [59]

Смотрите также

  • 3568 ASCII , астероид назван в честь кодировки символов
  • Альтернативные коды
  • Ascii85
  • ASCII искусство
  • Кампания с лентой ASCII
  • Базовая латиница (блок Unicode) (ASCII как подмножество Unicode)
  • Расширенный ASCII
  • Отображение десятичных символов HTML
  • Файл жаргона , глоссарий сленга компьютерных программистов, который включает список общеупотребительных сленговых имен для символов ASCII.
  • Список компьютерных наборов символов
  • Список символов Юникода

Заметки

  1. ^ а б в г д 128 символов 7-битного набора символов ASCII разделены на восемь 16-символьных групп, называемых палками 0–7, связанных с тремя старшими битами . [14] В зависимости от горизонтального или вертикального представления карты символов палочки соответствуют либо строкам таблицы, либо столбцам.
  2. ^ В Unicode символы из области U + 2400 до U + 2421 зарезервированы для представления управляющих символовкогда необходимо напечатать или отобразить иха не иметь их выполняют свою намеченную функцию. Некоторые браузеры могут не отображать их должным образом.
  3. ^ Нотация каретки часто используется для представления управляющих символов на терминале. На большинстве текстовых терминалов нажатиеCtrlклавиши при вводе второго символа приводит к вводу управляющего символа. Иногда клавиша Shift не нужна, например,^@ее можно набрать с помощью только Ctrl и 2.
  4. ^ Управляющие последовательности символовв языке программирования C и многих других языках, на которые он повлиял, таких как Java и Perl (хотя не все реализации обязательно поддерживают все escape-последовательности).
  5. ^ Символ Backspace также можно ввести, нажав← Backspaceклавишу в некоторых системах.
  6. ^ a b Неоднозначность Backspace связана с тем, что первые терминалы были разработаны, предполагая, что основное использование клавиатуры будет заключаться в ручном перфорации бумажной ленты, когда она не подключена к компьютеру. Чтобы удалить предыдущий символ, нужно было сделать резервную копию дырокола с бумажной лентой, который по причинам механики и простоты был кнопкой на самом пуансоне, а не на клавиатуре, затем ввести символ затирания. Поэтому они поместили клавишу, вызывающую стирание, в месте, используемом на пишущих машинках для возврата. Когда системы использовали эти терминалы и обеспечивали редактирование из командной строки, им приходилось использовать код «rubout» для выполнения возврата и часто не интерпретировали символ возврата (они могли отображать "эхо")^H"для backspace). Другие терминалы, не предназначенные для бумажной ленты, заставляли ключ в этом месте производить Backspace, и системы, разработанные для них, использовали этот символ для резервного копирования. Поскольку код удаления часто производил эффект backspace, это также вынудило производителей терминалов сделать любая Deleteклавиша производит что-то кроме символа удаления.
  7. ^ Символ табуляции также можно ввести, нажавTab ↹клавишу в большинстве систем.
  8. ^ Символ возврата каретки также можно ввести, нажав клавишу↵ EnterилиReturnв большинстве систем.
  9. ^ Управляющая\e последовательность не является частью ISO C и многих других языковых спецификаций. Однако это понимают несколько компиляторов, включая GCC .
  10. ^ Символ Escape также можно ввести, нажавEscклавишу в некоторых системах.
  11. ^ ^^ средстваCtrl+^(нажатие клавиши "Ctrl" и CARET ключей).
  12. ^ Символ удаления иногда можно ввести, нажав← Backspaceклавишу в некоторых системах.
  13. ^ Распечатанные символы:
     ! "# $% & '() * +, -. / 0123456789:; <=>? @ ABCDEFGHIJKLMNOPQRSTUVWXYZ [\] ^ _` abcdefghijklmnopqrstuvwxyz {|} ~

Рекомендации

  1. ^ ANSI (1975-12-01). ISO-IR-006: Набор графических символов ASCII (PDF) . ITSCJ / IPSJ .
  2. ^ a b «Наборы символов» . Управление по распределению номеров в Интернете (IANA) . 2007-05-14 . Проверено 25 августа 2019 .
  3. ^ a b c d e f g h i j k l m n o p q r s Маккензи, Чарльз Э. (1980). Наборы кодированных символов, история и развитие (PDF) . Серия системного программирования (1-е изд.). Эддисон-Уэсли Паблишинг Компани, Инк. Стр. 6, 66, 211, 215, 217, 220, 223, 228, 236–238, 243–245, 247–253, 423, 425–428, 435–439. ISBN  978-0-201-14460-4. LCCN  77-90165 . Архивировано 26 мая 2016 года (PDF) . Проверено 25 августа 2019 года .
  4. ^ a b Брандел, Мэри (1999-07-06). «1963: Дебют ASCII» . CNN . Архивировано 17 июня 2013 года . Проверено 14 апреля 2008 .
  5. ^ a b c d "Американский стандартный код обмена информацией, ASA X3.4-1963" . Американская ассоциация стандартов (ASA). 1963-06-17 . Проверено 6 июня 2020 .
  6. ^ a b c «Стандартный код США для обмена информацией, USAS X3.4-1967». Институт стандартов Соединенных Штатов Америки (USASI). 1967-07-07. Цитировать журнал требует |journal=( помощь )
  7. ^ Дженнингс, Томас Дэниел (2016-04-20) [1999]. «Аннотированная история некоторых кодов символов или ASCII: американский стандартный код для проникновения информации» . Чувствительное исследование (SR-IX) . Проверено 8 марта 2020 .
  8. ^ a b c «Американский национальный стандарт для информационных систем - Наборы кодированных символов - 7-битный Американский национальный стандартный код для обмена информацией (7-битный ASCII), ANSI X3.4-1986». Американский национальный институт стандартов (ANSI). 1986-03-26. Цитировать журнал требует |journal=( помощь )
  9. ^ Винт Серф (1969-10-16). Формат ASCII для сетевого обмена . IETF . DOI : 10,17487 / RFC0020 . RFC 20 .
  10. ^ Барри Лейба (2015-01-12). «Правильная классификация RFC 20 (формат ASCII) по стандарту Интернета» . IETF .
  11. ^ Ширли, Р. (август 2007 г.), Глоссарий по безопасности в Интернете, версия 2 , RFC 4949 , заархивировано из оригинала 13 июня 2016 г. , получено 13 июня 2016 г. 
  12. ^ Майни, Анил Кумар (2007). Цифровая электроника: принципы, устройства и приложения . Джон Вили и сыновья . п. 28. ISBN 978-0-470-03214-5. Кроме того, он определяет коды для 33 непечатаемых, в основном устаревших управляющих символов, которые влияют на обработку текста.
  13. ^ Bukstein, Ed (июль 1964). «Двоичные компьютерные коды и ASCII» . Мир электроники . 72 (1): 28–29. Архивировано из оригинала на 2016-03-03 . Проверено 22 мая 2016 .
  14. ^ a b c d e f Бемер, Роберт Уильям (1980). «Глава 1: Внутри ASCII» (PDF) . Программное обеспечение общего назначения . Лучшее в эпоху интерфейсов. 2 . Портленд, Орегон, США: dilithium Press. С. 1–50. ISBN  978-0-918398-37-6. LCCN  79-67462 . Архивировано из оригинала на 2016-08-27 . Проверено 27 августа 2016 , из:
    • Бемер, Роберт Уильям (май 1978 г.). «Внутри ASCII - Часть I». Возраст интерфейса . 3 (5): 96–102.
    • Бемер, Роберт Уильям (июнь 1978 г.). «Внутри ASCII - Часть II». Возраст интерфейса . 3 (6): 64–74.
    • Бемер, Роберт Уильям (июль 1978 г.). «Внутри ASCII - Часть III». Возраст интерфейса . 3 (7): 80–87.
  15. Краткий отчет: Заседание рабочей группы CCITT по новому телеграфному алфавиту, 13–15 мая 1963 г.
  16. Отчет ISO / TC / 97 / SC 2 - Встреча 29–31 октября 1963 г.
  17. ^ Отчет о целевой группе X3.2.4, 11 июня 1963 года, Пентагон здание, Вашингтон, округ Колумбия.
  18. ^ Отчет о совещании № 8, Целевая группа X3.2.4, 17 и 18 декабря 1963 года
  19. ^ a b c Винтер, Дик Т. (2010) [2003]. «Американские и международные стандарты: ASCII» . Архивировано из оригинала на 2010-01-16.
  20. ^ Б с д е е г Salste, Туомас (январь 2016). «7-битные наборы символов: версии ASCII» . Aivosto Oy. урна: nbn: fi-fe201201011004 . Архивировано 13 июня 2016 года . Проверено 13 июня 2016 .
  21. ^ «Информация». Scientific American (специальный выпуск). 215 (3). Сентябрь 1966 г. JSTOR e24931041 . 
  22. ^ Корпела, Юкка К. (2014-03-14) [2006-06-07]. Unicode Explained - интернационализация документов, программ и веб-сайтов (2-й выпуск 1-го изд.). O'Reilly Media, Inc. стр. 118. ISBN 978-0-596-10121-3.
  23. ^ ANSI INCITS 4-1986 (R2007): Американский национальный стандарт для информационных систем - Наборы кодированных символов - 7-битный Американский национальный стандартный код для обмена информацией (7-битный ASCII) (PDF) , 2007 [1986], архив (PDF) из оригинала от 07.02.2014 , получено 12.06.2016
  24. ^ «INCITS 4-1986 [R2012]: Информационные системы - Наборы кодированных символов - 7-битный американский национальный стандартный код для обмена информацией (7-битный ASCII)» . 2012-06-15. Архивировано 28 февраля 2020 года . Проверено 28 февраля 2020 .
  25. ^ «INCITS 4-1986 [R2017]: Информационные системы - Наборы кодированных символов - 7-битный американский национальный стандартный код для обмена информацией (7-битный ASCII)» . 2017-11-02 [2017-06-09]. Архивировано 28 февраля 2020 года . Проверено 28 февраля 2020 .
  26. ^ Битовая последовательность американского национального стандартного кода для обмена информацией при последовательной побитовой передаче данных , Американский национальный институт стандартов (ANSI), 1966, X3.15-1966
  27. ^ "BruXy: Радиотелетайп связи" . 2005-10-10. Архивировано 12 апреля 2016 года . Проверено 9 мая 2016 . Переданный код использует международный телеграфный алфавит № 2 (ITA-2), который был введен CCITT в 1924 году.
  28. ^ a b Смит, Гил (2001). «Коды телетайпов связи» (PDF) . Baudot.net. Архивировано (PDF) из оригинала 20 августа 2008 года . Проверено 11 июля 2008 .
  29. ^ Сойер, Стэнли А .; Кранц, Стивен Джордж (1995). Учебник TeX для ученых . CRC Press, LLC . п. 13. Bibcode : 1995tps..book ..... S . ISBN 978-0-8493-7159-2. Архивировано 22 декабря 2016 года . Проверено 29 октября 2016 .
  30. ^ Савард, Джон JG "Компьютерные клавиатуры" . Архивировано 24 сентября 2014 года . Проверено 24 августа 2014 .
  31. ^ "ASCIIбетическое определение" . Журнал ПК . Архивировано 9 марта 2013 года . Проверено 14 апреля 2008 .
  32. ^ Резник, P. (апрель 2001), Интернет Формат сообщений , RFC 2822 , в архиве с оригинала на 2016-06-13 , извлекаться 2016-06-13  (NB. NO-WS-CTL.)
  33. ^ Макконнелл, Роберт; Хейнс, Джеймс; Уоррен, Ричард. «Понимание кодов ASCII» . Архивировано 27 февраля 2014 года . Проверено 11 мая 2014 .
  34. ^ Барри Марголин (2014-05-29). «Re: история редактора и текстового процессора (было: Re: RTF для emacs)» . help-gnu-emacs (список рассылки). Архивировано 14 июля 2014 года . Проверено 11 июля 2014 .
  35. ^ a b "Руководство по мультипрограммной системе PDP-6" (PDF) . Корпорация цифрового оборудования (DEC). 1965. с. 43. Архивировано (PDF) из оригинала на 2014-07-14 . Проверено 10 июля 2014 .
  36. ^ a b «Справочное руководство PDP-10, Книга 3, Связь с монитором» (PDF) . Корпорация цифрового оборудования (DEC). 1969. с. 5-5. Архивировано (PDF) из оригинала на 2011-11-15 . Проверено 10 июля 2014 .
  37. ^ "Справка - Руководство по GNU Emacs" . Архивировано 11 июля 2018 года . Проверено 11 июля 2018 .
  38. ^ Тим Патерсон (2007-08-08). "Является ли DOS грабежом CP / M?" . DosMan Drivel . Архивировано 20 апреля 2018 года . Проверено 19 апреля 2018 .
  39. ^ Оссанна, JF ; Зальцер, Дж. Х. (17–19 ноября 1970 г.). «Технические и инженерно-технические проблемы при подключении терминалов к системе с разделением времени» (PDF) . Труды 17-19 ноября 1970 года, Fall Joint Computer конференции (FJCC) . п. 357: AFIPS Press. С. 355–362. Архивировано (PDF) из оригинала 19 августа 2012 года . Проверено 29 января 2013 . Использование функции «новой строки» (комбинированного возврата каретки и перевода строки) проще как для человека, так и для машины, чем использование обеих функций для начала новой строки; Американский национальный стандарт X3.4-1968 разрешает коду перевода строки нести значение новой строки.CS1 maint: location (link)
  40. ^ О'Салливан, Т. (1971-05-19), TELNET протокол , Internet Engineering Task Force (IETF), стр. 4-5, RFC 158 , в архиве с оригинала на 2016-06-13 , извлекаться 2013-01 -28 
  41. ^ Нейгус, Нэнси Дж. (1973-08-12), Протокол передачи файлов , Инженерная группа Интернета (IETF), RFC 542 , заархивировано из оригинала 13 июня 2016 г. , получено 28 января 2013 г. 
  42. ^ Постел, Джон (июнь 1980 г.), Протокол передачи файлов , Инженерная группа Интернета (IETF), RFC 765 , заархивировано из оригинала 13 июня 2016 г. , получено 28 января 2013 г. 
  43. ^ "План перевода EOL для Mercurial" . Меркуриал. Архивировано 16 июня 2016 года . Проверено 24 июня 2017 .
  44. ^ Бернштейн, Дэниел Дж. «Голые LF в SMTP» . Архивировано 29 октября 2011 года . Проверено 28 января 2013 .
  45. ^ Руководство по интерфейсу CP / M 1.4 (PDF) . Цифровые исследования . 1978. стр. 10. Архивировано (PDF) из оригинала 29.05.2019 . Проверено 7 октября 2017 .
  46. ^ Серф, Винтон Грей (1969-10-16), формат ASCII для сетевого обмена , сетевая рабочая группа, RFC 20 , заархивировано из оригинала 13 июня 2016 г. , получено 13 июня 2016 г. (NB. Формулировка почти идентична USAS X3.4-1968, за исключением вступления.)
  47. ^ Haynes, Джим (2015-01-13). «Из первых рук: Чад - наш самый важный продукт: инженерные воспоминания о корпорации Teletype» . Вики по истории инженерии и технологий (ETHW). Архивировано 31 октября 2016 года . Проверено 31 октября 2016 . Произошло изменение с 1961 ASCII на 1968 ASCII. Некоторые компьютерные языки использовали символы ASCII 1961 года, такие как стрелка вверх и стрелка влево. Эти символы исчезли из ASCII 1968 года. Мы работали с Фредом Мокингом, который к тому моменту работал в отделе продаж Teletype , над печатным цилиндром, который скомпрометировал бы изменяющиеся символы, так что значения ASCII 1961 года не были полностью потеряны. Знак подчеркивания был сделан скорее в форме клина, поэтому он также мог служить стрелкой влево.
  48. ^ Бемер, Роберт Уильям . «Bemer встречает Европу (компьютерные стандарты) - виньетки по истории компьютеров» . Trailing-edge.com. Архивировано из оригинала на 2013-10-17 . Проверено 14 апреля 2008 .(NB. Бемер работал в IBM в то время.)
  49. ^ «Роберт Уильям Бемер: Биография» . 2013-03-09. Архивировано 16 июня 2016 года.
  50. ^ Джонсон, Линдон Бейнс (1968-03-11). «Меморандум об утверждении принятия Федеральным правительством Стандартного кодекса обмена информацией» . Проект американского президентства. Архивировано 14 сентября 2007 года . Проверено 14 апреля 2008 .
  51. ^ Ричард С. Шуффорд (1996-12-20). "Re: Ранняя история ASCII?" . Группа новостейalt.folklore.computers . Usenet: [email protected] . 
  52. ^ Фольц, Гарольд С .; Карп, Гарри, ред. (1982-02-01). Сборник стандартов передачи данных (2-е изд.). ISBN McGraw-Hill Inc.  978-0-07-021457-6.
  53. ^ Dubost, Карл (2008-05-06). «Рост UTF-8 в Интернете» . Блог W3C . Консорциум World Wide Web . Архивировано 16 июня 2016 года . Проверено 15 августа 2010 .
  54. ^ а б Дэвис, Марк (2008-05-05). «Переход на Unicode 5.1» . Официальный блог Google . Архивировано 16 июня 2016 года . Проверено 15 августа 2010 .
  55. ^ Дэвис, Марк (28 января 2010). «Юникод приближается к 50% Интернета» . Официальный блог Google . Архивировано 16 июня 2016 года . Проверено 15 августа 2010 .
  56. «Особые критерии», приложение к докладной записке от RW Reach, «Встреча X3-2 - 14 и 15 сентября», 18 сентября 1961 г.
  57. ^ Марешаль, R. (1967-12-22), ISO / TC 97 - Компьютеры и обработки информации: Принятие проекта Рекомендации ISO No. 1052
  58. ^ Консорциум Unicode (2006-10-27). «Глава 13: Особые области и символы формата» (PDF) . В Аллене, Джули Д. (ред.). Стандарт Unicode версии 5.0 . Река Аппер Сэдл, Нью-Джерси, США: Addison-Wesley Professional . п. 314. ISBN  978-0-321-48091-0. Проверено 13 марта 2015 .
  59. ^ "utf-8 (7) - страница руководства Linux" . Man7.org. 2014-02-26. Архивировано 22 апреля 2014 года . Проверено 21 апреля 2014 .

дальнейшее чтение

  • Бемер, Роберт Уильям (1960). «Предложение о совместимости кодов символов». Коммуникации ACM . 3 (2): 71–72. DOI : 10.1145 / 366959.366961 . S2CID  9591147 .
  • Бемер, Роберт Уильям (2003-05-23). «Вавилон кодов до ASCII: Обзор наборов кодированных символов 1960 года: причины для ASCII» . Архивировано из оригинала на 2013-10-17 . Источник 2016-05-09 , из:
    • Бемер, Роберт Уильям (декабрь 1960). «Обзор кодированного представления символов». Коммуникации ACM . 3 (12): 639–641. DOI : 10.1145 / 367487.367493 . S2CID  21403172 .
    • Смит, HJ; Уильямс, ФА (декабрь 1960 г.). «Обзор кодов перфокарт» . Коммуникации ACM . 3 (12): 642. DOI : 10,1145 / 367487,367491 .
  • Американский национальный стандартный код для обмена информацией . Американский национальный институт стандартов . 1977 г.
  • Робинсон, GS; Каргилл, К. (1996). «История и влияние компьютерных стандартов». Компьютер . 29 (10): 79–85. DOI : 10.1109 / 2.539725 .
  • Маллендор, Ральф Элвин (1964) [1963]. Птак, Джон Ф. (ред.). «О раннем развитии ASCII - История ASCII» . JF Ptak Science Books (опубликовано в марте 2012 г.). Архивировано 26 мая 2016 года . Проверено 26 мая 2016 .

Внешние ссылки

  • «C0 Controls и Basic Latin - Диапазон: 0000–007F» (PDF) . Стандарт Unicode 8.0 . Unicode, Inc., 2015 [1991]. Архивировано (PDF) из оригинала 26 мая 2016 года . Проверено 26 мая 2016 .
  • Фишер, Эрик. «Эволюция кодов символов, 1874–1968». CiteSeerX  10.1.1.96.678 . Cite journal requires |journal= (help) [1]