Jump to content

ASCII-код

(Перенаправлено из ANSI X3.4 )

ASCII-код
Диаграмма ASCII из MIL-STD-188-100 (1972 г.)
МИМ / IANA us-ascii
Псевдоним(а) ИСО-ИР-006, [1] ANSI_X3.4-1968, ANSI_X3.4-1986, ISO_646.irv:1991, ISO646-США, США, IBM367, cp367 [2]
Язык(и) Английский (создан для; поддерживает не все заимствованные слова), малайский , ротокас , интерлингва , Ido и X-SAMPA.
Классификация Серия ИСО/МЭК 646
Расширения
Предшественник ВЫ 2 , ПОЛЕ
Преемник ИСО/МЭК 8859 , ИСО/МЭК 10646 ( Юникод )

ASCII ( / ˈ æ s k / ЖОПА - нет ), [3] : 6  аббревиатура от American Standard Code for Information Interchange стандарт кодирования символов для электронной связи. Коды ASCII представляют текст в компьютерах, телекоммуникационном оборудовании и других устройствах. ASCII имеет всего 128 кодовых точек , из которых только 95 являются печатными символами , что сильно ограничивает его возможности. Набор доступных знаков препинания оказал существенное влияние на синтаксис компьютерных языков и текстовую разметку. ASCII оказал огромное влияние на дизайн наборов символов, используемых современными компьютерами, включая Unicode , который имеет более миллиона кодовых точек, но первые 128 из них такие же, как ASCII.

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

ASCII — одна из вех IEEE . [4]

ASCII частично был разработан на основе телеграфного кода . Его первое коммерческое использование было в Teletype Model 33 и Teletype Model 35 в качестве семибитного кода телетайпа, продвигаемого службами передачи данных Bell. [ когда? ] Работа над стандартом ASCII началась в мае 1961 года с первого заседания подкомитета X3.2 Американской ассоциации стандартов (ASA) (ныне Американский национальный институт стандартов или ANSI). Первое издание стандарта было опубликовано в 1963 году. [5] [6] подвергся серьезной переработке в 1967 году, [7] [8] и последнее обновление произошло в 1986 году. [9] По сравнению с более ранними телеграфными кодами, предложенный код Белла и ASCII были заказаны для более удобной сортировки (т. е. расположения в алфавитном порядке) списков и дополнительных функций для устройств, отличных от телетайпов. [9]

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

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

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

Несмотря на то, что ASCII является американским стандартом, он не имеет кодовой точки для цента ( ¢). Он также не поддерживает английские термины с диакритическими знаками, такие как резюме и халапеньо , или имена собственные с диакритическими знаками, такие как Бейонсе .

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

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

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

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

Редакции

[ редактировать ]

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

Рекомендации по проектированию

[ редактировать ]

Разрядность

[ редактировать ]

Подкомитет X3.2 разработал ASCII на основе более ранних систем кодирования телетайпа. Как и другие кодировки символов , ASCII определяет соответствие между цифровыми битовыми шаблонами и символами символов (т. е. графемами и управляющими символами ). Это позволяет цифровым устройствам взаимодействовать друг с другом, а также обрабатывать, хранить и передавать символьную информацию, например письменную речь. До разработки ASCII используемые кодировки включали 26 буквенных символов, 10 числовых цифр и от 11 до 25 специальных графических символов. Чтобы включить все это, а также управляющие символы, совместимые со стандартом Международного телеграфного алфавита № 2 (ITA2) Международного телеграфного алфавита № 2 (ITA2) 1932 года, [30] [31] ПОЛЕВЫЕ ДАННЫЕ (1956 г.) [ нужна ссылка ] ) и ранней версии EBCDIC (1963 г.) для ASCII требовалось более 64 кодов.

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

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

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

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

[ редактировать ]

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

Многие небуквенно-цифровые символы были расположены так, чтобы соответствовать их смещенному положению на пишущих машинках; важная тонкость заключается в том, что они были основаны на механических пишущих машинках, а не на электрических . [33] Механические пишущие машинки следовали фактическому стандарту, установленному Remington No. 2 (1878 г.), первой пишущей машинкой с клавишей Shift, и смещенными значениями 23456789- были "#$%_&'() опускались – в ранних пишущих машинках 0 и 1 , вместо этого использовались O (заглавная буква o ) и l (строчная буква L ), но 1! и 0) пары стали стандартными, как только 0 и 1 стали обычными. Таким образом, в ASCII !"#$% были помещены во вторую палку, [а] [15] позиции 1–5, соответствующие цифрам 1–5 на соседнем стержне. [а] [15] Однако круглые скобки не могли соответствовать 9 и 0 , поскольку место, соответствующее 0, было занято пробелом. Это было решено путем удаления _ (подчеркивание) с 6 и сдвигом остальных символов, что соответствовало многим европейским пишущим машинкам, в которых скобки помещались с 8 и 9 . Это несоответствие с пишущими машинками привело к созданию клавиатур с битовыми парами , в частности, к модели Teletype 33 , в которой использовалась сдвинутая влево раскладка, соответствующая ASCII, в отличие от традиционных механических пишущих машинок.

Электрические пишущие машинки, особенно IBM Selectric (1961 г.), использовали несколько иную раскладку, которая стала де-факто стандартом для компьютеров – после IBM PC (1981 г.), особенно модели M (1984 г.), – и, таким образом, значения смещения символов на современных клавиатурах не так точно соответствуют таблице ASCII, как предыдущие клавиатуры. /? пара также относится к номеру 2, а ,< .> на некоторых клавиатурах использовались пары (другие, в том числе №2, не смещались , (запятая) или . (точка), чтобы их можно было использовать в верхнем регистре без переключения). Однако ASCII разделяет ;: пара (датируемая № 2) и переставленные математические символы (различные условные обозначения, обычно -* =+) к :* ;+ -=.

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

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

Порядок символов

[ редактировать ]

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

  • Все прописные буквы идут перед строчными буквами; например, «Z» предшествует «а»
  • Перед буквами стоят цифры и множество знаков препинания.

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

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

[ редактировать ]
ASCII (1977/1986)
0 1 2 3 4 5 6 7 8 9 А Б С Д И Ф
0x НУЛЕВОЙ СОХ СТХ И Т. Д EOT ENQ ПОДТВЕРЖДЕНИЕ БЕЛ БС ХТ НЧ ВТ ФФ ЧР ТАК И
1x В СООТВЕТСТВИИ С DC1 DC2 DC3 DC4 ХОТЕТЬ СИН ЭТБ МОЖЕТ В СУБ ЭКУ ФС GS РС НАС
2x СП ! " # $ % & ' ( ) * + , - . /
3x 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
4x @ А Б С Д И Ф Г ЧАС я Дж К л М Н ТО
5x П вопрос Р С Т В V В Х И С [ \ ] ^ _
6x ` а б с д и ж г час я дж к л м н тот
7x п д р с т в v В х и С { | } ~ ПРИНАДЛЕЖАЩИЙ
  Изменено или добавлено в версии 1963 года.
  Изменено как в версии 1963 года, так и в проекте 1965 года.

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

[ редактировать ]

Управляющие персонажи

[ редактировать ]
Ранним символам присвоены 32 управляющих символа, пробел и символы удаления. ( ISO 2047 , MIL-STD-188-100, 1972 г.)

ASCII резервирует первые 32 кодовых символа (десятичные числа 0–31) и последний (десятичный номер 127) для управляющих символов . Это коды, предназначенные для управления периферийными устройствами (например, принтерами ) или для предоставления метаинформации о потоках данных, например, хранящихся на магнитной ленте. Несмотря на свое название, эти кодовые точки не представляют собой печатные символы (т.е. они вообще не символы, а сигналы). символы-заполнители (например, приведенные в ISO 2047 В целях отладки им назначаются и его предшественниках).

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

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

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

Когда Teletype 33 ASR, оснащенный автоматическим устройством считывания бумажной ленты, получал команду Control-S (XOFF, аббревиатура от выключения передачи), это приводило к остановке устройства чтения ленты; прием control-Q (XON, передача включена) привел к возобновлению работы устройства чтения ленты. Этот так называемый метод управления потоком был принят в нескольких ранних компьютерных операционных системах в качестве сигнала «квитирования связи», предупреждающего отправителя о прекращении передачи из-за надвигающегося переполнения буфера ; он сохраняется и по сей день во многих системах как метод ручного управления выходом. В некоторых системах Control-S сохраняет свое значение, но Control-Q заменяется вторым Control-S для возобновления вывода.

33 ASR также можно настроить на использование клавиш Control-R (DC2) и Control-T (DC4) для запуска и остановки перфорации ленты; на некоторых устройствах, оснащенных этой функцией, соответствующие буквы управляющего символа на колпачке клавиатуры над буквой были TAPE и TAPE соответственно. [36]

Удалить против возврата

[ редактировать ]

Телетайп не мог переместить печатную головку назад, поэтому на его клавиатуре не было клавиши для отправки BS (возврата). Вместо этого там был ключ с пометкой RUB OUT который отправил код 127 (DEL). Целью этого ключа было стирание ошибок на бумажной ленте, введенной вручную: оператору приходилось нажимать кнопку на перфораторе для резервного копирования, затем набирать рубаут, который пробивал все дырки и заменял ошибку символом, который предполагалось игнорировать. [37] Телетайпы обычно использовались с менее дорогими компьютерами Digital Equipment Corporation (DEC); этим системам приходилось использовать те клавиши, которые были доступны, и поэтому символ DEL был назначен для стирания предыдущего символа. [38] [39] Из-за этого видеотерминалы DEC (по умолчанию) отправляли символ DEL для клавиши с пометкой «Backspace», в то время как отдельная клавиша с пометкой «Delete» отправляла escape-последовательность ; многие другие конкурирующие терминалы отправляли символ BS в качестве клавиши возврата.

Ранние драйверы tty Unix, в отличие от некоторых современных реализаций, позволяли устанавливать только один символ для стирания предыдущего символа при канонической обработке ввода (где доступен очень простой редактор строк); для этого параметра может быть установлено значение BS или DEL, но не оба, что приводит к повторяющимся ситуациям двусмысленности, когда пользователям приходится решать в зависимости от того, какой терминал они используют ( оболочки , которые позволяют редактировать строки, такие как ksh , bash и zsh , понимают оба) . Предположение о том, что ни одна клавиша не отправляла символ BS, позволяло использовать Ctrl+H для других целей, таких как команда префикса «help» в GNU Emacs . [40]

Многим управляющим символам были присвоены значения, совершенно отличные от их первоначальных. Например, символ «escape» (ESC, код 27) изначально предназначался для того, чтобы разрешить отправку других управляющих символов в виде литералов вместо вызова их значения, «escape-последовательности». Это то же значение слова «escape», которое встречается в кодировках URL, строках языка C и других системах, где определенные символы имеют зарезервированное значение. Со временем эта интерпретация была принята и в конечном итоге изменена.

В современном использовании ESC, отправленный на терминал, обычно указывает на начало последовательности команд, которую можно использовать для обращения к курсору, прокрутки региона, установки/запроса различных свойств терминала и многого другого. Обычно они имеют форму так называемого « Escape-кода ANSI » (часто начинающегося с « Вводителя управляющей последовательности », «CSI», «CSI»). ESC[ ") из ECMA-48 (1972) и его преемников. Некоторые escape-последовательности не имеют вводчиков, например, VT100 " команда полного сброса ESC c ". [41]

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

Конец строки

[ редактировать ]

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

Операционные системы DEC ( OS/8 , RT-11 , RSX-11 , RSTS , TOPS-10 и т. д.) использовали оба символа для обозначения конца строки, чтобы консольное устройство (первоначально телетайпы) работало. К тому времени, когда появились так называемые «стеклянные телетайпы» (позже названные ЭЛТ или «тупые терминалы»), это соглашение настолько укоренилось, что обратная совместимость потребовала продолжать ему следовать. Когда Гэри Килдалл создал CP/M , его вдохновили некоторые соглашения об интерфейсе командной строки, используемые в операционной системе DEC RT-11.

До появления PC DOS в 1981 году IBM не имела на это никакого влияния, поскольку в их операционных системах 1970-х годов использовалась кодировка EBCDIC вместо ASCII, и они были ориентированы на ввод перфокарт и вывод на построчный принтер, на котором использовалась концепция «возврата каретки». бессмысленно. DOS для ПК от IBM (также продаваемая Microsoft как MS-DOS ) унаследовала это соглашение, поскольку в общих чертах основана на CP/M. [42] а Windows, в свою очередь, унаследовала его от MS-DOS.

Требование двух символов для обозначения конца строки приводит к ненужной сложности и двусмысленности в отношении интерпретации каждого символа, когда он встречается сам по себе. Чтобы упростить ситуацию, потоки простых текстовых данных, включая файлы, в Multics использовали только перевод строки (LF) в качестве признака конца строки. [43] : 357  Драйвер tty будет обрабатывать преобразование LF в CRLF на выходе, поэтому файлы можно будет напрямую распечатать на терминале, а NL (новая строка) часто используется для ссылки на CRLF в документах UNIX . Unix и Unix-подобные системы, а также системы Amiga переняли это соглашение от Multics. С другой стороны, исходные ОС Macintosh , Apple DOS и ProDOS использовали возврат каретки (CR) только в качестве признака завершения строки; однако, поскольку позже Apple заменила эти устаревшие операционные системы своей операционной системой macOS на базе Unix (ранее называвшейся OS X), они теперь также используют перевод строки (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. [44] Протокол передачи файлов использует протокол Telnet, включая использование сетевого виртуального терминала, для использования при передаче команд и данных в режиме ASCII по умолчанию. [45] [46] Это усложняет реализацию этих протоколов, а также других сетевых протоколов, например тех, которые используются для электронной почты и Всемирной паутины, в системах, не использующих соглашение NVT об окончании строк CR-LF. [47] [48]

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

[ редактировать ]

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

Драйвер терминала Unix использует символ конца передачи ( EOT ), также известный как control-D, для обозначения конца потока данных.

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

Таблица управляющих кодов

[ редактировать ]
Двоичный октябрь декабрь Шестигранник Аббревиатура Юникод Изображения управления [б] Обозначение каретки [с] Escape-последовательность C [д] Имя (1967)
1963 1965 1967
000 0000 000 0 00 НУЛЕВОЙ НУЛЕВОЙ ^@ \0 [и] Нулевой
000 0001 001 1 01 ШОВ СОХ ^ А Начало заголовка
000 0010 002 2 02 ЭОА СТХ ^ Б Начало текста
000 0011 003 3 03 МНВ И Т. Д ^ С Конец текста
000 0100 004 4 04 EOT ^ Д Конец передачи
000 0101 005 5 05 ВРУ ENQ Расследование
000 0110 006 6 06 РУ ПОДТВЕРЖДЕНИЕ Благодарность
000 0111 007 7 07 БЕЛЛ БЕЛ ^ Г Белл
000 1000 010 8 08 FE0 БС ^ Ч Backspace [ф] [г]
000 1001 011 9 09 ХТ/СК ХТ \ т Горизонтальная вкладка [час]
000 1010 012 10 НЧ ^Дж \п Перевод строки
000 1011 013 11 ВТАБ ВТ \v Вертикальная вкладка
000 1100 014 12 ФФ \ е Подача формы
000 1101 015 13 0D ЧР Возврат каретки [я]
000 1110 016 14 ТАК Сдвиг
000 1111 017 15 И Сдвиг
001 0000 020 16 10 DC0 В СООТВЕТСТВИИ С Выход из канала передачи данных
001 0001 021 17 11 DC1 ^Q Управление устройством 1 (часто XON )
001 0010 022 18 12 DC2 Контроль устройств 2
001 0011 023 19 13 DC3 Управление устройством 3 (часто XOFF )
001 0100 024 20 14 DC4 Контроль устройств 4
001 0101 025 21 15 ОШИБКА ХОТЕТЬ Отрицательное подтверждение
001 0110 026 22 16 СИНХРОНИЗАЦИЯ СИН ^V Синхронный холостой ход
001 0111 027 23 17 ЛЕМ ЭТБ ^ Вт Конец блока передачи
001 1000 030 24 18 S0 МОЖЕТ Отмена
001 1001 031 25 19 С1 В Конец среды
001 1010 032 26 С2 SS СУБ ^Z Заменять
001 1011 033 27 S3 ЭКУ ^[ [Дж] Побег [к]
001 1100 034 28 С4 ФС ^\ Разделитель файлов
001 1101 035 29 С5 GS ^] Разделитель групп
001 1110 036 30 S6 РС ^^ [л] Разделитель записей
001 1111 037 31 1F S7 НАС ^_ Разделитель единиц измерения
111 1111 177 127 7F ПРИНАДЛЕЖАЩИЙ ^? Удалить [м] [г]

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

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

[ редактировать ]

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

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

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

Двоичный октябрь декабрь Шестигранник Глиф
1963 1965 1967
010 0000 040 32 20  космос
010 0001 041 33 21 !
010 0010 042 34 22 "
010 0011 043 35 23 #
010 0100 044 36 24 $
010 0101 045 37 25 %
010 0110 046 38 26 &
010 0111 047 39 27 '
010 1000 050 40 28 (
010 1001 051 41 29 )
010 1010 052 42 *
010 1011 053 43 +
010 1100 054 44 ,
010 1101 055 45 2D -
010 1110 056 46 .
010 1111 057 47 2F /
011 0000 060 48 30 0
011 0001 061 49 31 1
011 0010 062 50 32 2
011 0011 063 51 33 3
011 0100 064 52 34 4
011 0101 065 53 35 5
011 0110 066 54 36 6
011 0111 067 55 37 7
011 1000 070 56 38 8
011 1001 071 57 39 9
011 1010 072 58 :
011 1011 073 59 ;
011 1100 074 60 <
011 1101 075 61 3D =
011 1110 076 62 >
011 1111 077 63 3эт. ?
100 0000 100 64 40 @ ` @
100 0001 101 65 41 А
100 0010 102 66 42 Б
100 0011 103 67 43 С
100 0100 104 68 44 Д
100 0101 105 69 45 И
100 0110 106 70 46 Ф
100 0111 107 71 47 Г
100 1000 110 72 48 ЧАС
100 1001 111 73 49 я
100 1010 112 74 Дж
100 1011 113 75 К
100 1100 114 76 л
100 1101 115 77 4D М
100 1110 116 78 Н
100 1111 117 79 4F ТО
101 0000 120 80 50 П
101 0001 121 81 51 вопрос
101 0010 122 82 52 Р
101 0011 123 83 53 С
101 0100 124 84 54 Т
101 0101 125 85 55 В
101 0110 126 86 56 V
101 0111 127 87 57 В
101 1000 130 88 58 Х
101 1001 131 89 59 И
101 1010 132 90 С
101 1011 133 91 [
101 1100 134 92 \ ~ \
101 1101 135 93 ]
101 1110 136 94 ^
101 1111 137 95 5F _
110 0000 140 96 60 @ `
110 0001 141 97 61 а
110 0010 142 98 62 б
110 0011 143 99 63 с
110 0100 144 100 64 д
110 0101 145 101 65 и
110 0110 146 102 66 ж
110 0111 147 103 67 г
110 1000 150 104 68 час
110 1001 151 105 69 я
110 1010 152 106 дж
110 1011 153 107 к
110 1100 154 108 л
110 1101 155 109 м
110 1110 156 110 н
110 1111 157 111 6F тот
111 0000 160 112 70 п
111 0001 161 113 71 д
111 0010 162 114 72 р
111 0011 163 115 73 с
111 0100 164 116 74 т
111 0101 165 117 75 в
111 0110 166 118 76 v
111 0111 167 119 77 В
111 1000 170 120 78 х
111 1001 171 121 79 и
111 1010 172 122 С
111 1011 173 123 {
111 1100 174 124 ПОДТВЕРЖДЕНИЕ ¬ |
111 1101 175 125 }
111 1110 176 126 ЭКУ | ~

Использование

[ редактировать ]

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

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

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

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

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

[ редактировать ]

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

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

[ редактировать ]

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

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

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

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

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

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

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

вместо

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

были созданы триграфы C Для решения этой проблемы для ANSI C , хотя их позднее внедрение и непоследовательная реализация в компиляторах ограничивали их использование. Многие программисты использовали на своих компьютерах кодировку 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 (в Корее).

В Европе наборы символов телетекста , которые являются вариантами ASCII, используются для субтитров телевещания, определенных World System Teletext , и вещания с использованием стандарта DVB-TXT для встраивания телетекста в передачи DVB. [61] В случае, если субтитры изначально были созданы для телетекста и преобразованы, производные форматы субтитров ограничиваются теми же наборами символов.

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

[ редактировать ]

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

Для некоторых стран были разработаны 8-битные расширения ASCII, которые включали поддержку символов, используемых на местных языках; например, ISCII для Индии и VISCII для Вьетнама. Компьютеры Kaypro CP/M использовали «верхние» 128 символов греческого алфавита. [ нужна ссылка ]

Даже для рынков, где не было необходимости добавлять много символов для поддержки дополнительных языков, производители первых домашних компьютерных систем часто разрабатывали свои собственные 8-битные расширения ASCII для включения дополнительных символов, таких как символы для рисования коробок , полуграфика и видеоигры. спрайты . Часто эти дополнения также заменяли управляющие символы (индекс от 0 до 31, а также индекс 127) еще более специфичными для платформы расширениями. В других случаях дополнительный бит использовался для каких-то других целей, например, для переключения инверсного видео ; этот подход использовался ATASCII , расширением ASCII, разработанным Atari .

Большинство расширений ASCII основаны на ASCII-1967 (текущий стандарт), но некоторые расширения основаны на более раннем ASCII-1963. Например, PETSCII , разработанный Commodore International для своих 8-битных систем, основан на ASCII-1963. Аналогично, многие наборы символов Sharp MZ основаны на ASCII-1963.

IBM определила кодовую страницу 437 для IBM PC , заменив управляющие символы графическими символами, такими как смайлики , и сопоставив дополнительные графические символы с верхними 128 позициями. [62] Корпорация Digital Equipment разработала многонациональный набор символов (DEC-MCS) для использования в популярном VT220 терминале как одно из первых расширений, предназначенных больше для международных языков, чем для блочной графики. Apple определила Mac OS Roman для Macintosh, а Adobe определила стандартную кодировку PostScript для PostScript ; оба набора содержали «международные» буквы, типографские символы и знаки препинания вместо графики, больше похожие на современные наборы символов.

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

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

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

См. также

[ редактировать ]

Примечания

[ редактировать ]
  1. ^ Перейти обратно: а б с д и 128 символов 7-битного набора символов ASCII разделены на восемь групп по 16 символов, называемых палочками 0–7, связанных с тремя наиболее значимыми битами . [15] В зависимости от горизонтального или вертикального представления карты символов палочки могут соответствовать строкам или столбцам таблицы.
  2. ^ Символы Юникода из области «Управляющие изображения» от U+2400 до U+2421 зарезервированы для представления управляющих символов, когда их необходимо распечатать или отобразить, а не заставить их выполнять предназначенную функцию. Некоторые браузеры могут отображать их неправильно.
  3. ^ Обозначение каретки часто используется для обозначения управляющих символов на терминале. На большинстве текстовых терминалов, удерживая кнопку Ctrl Клавиша при вводе второго символа приведет к вводу управляющего символа. Иногда клавиша Shift не нужна, например ^@ можно набирать с помощью Ctrl+2 или Ctrl+Пробел.
  4. ^ Escape-последовательности символов в языке программирования C и многих других языках, на которые он повлиял, таких как Java и Perl (хотя не все реализации обязательно поддерживают все escape-последовательности).
  5. ^ Ввод любого однобайтового символа поддерживается путем экранирования его восьмеричного значения. Однако из-за роли NULL в C-строках этот случай имеет особое применение.
  6. ^ Символ Backspace также можно ввести, нажав кнопку ← Backspace ключ в некоторых системах.
  7. ^ Перейти обратно: а б Неоднозначность Backspace связана с тем, что ранние терминалы проектировались с учетом того, что основное использование клавиатуры будет заключаться в ручной перфорации бумажной ленты без подключения к компьютеру. Чтобы удалить предыдущий символ, нужно было создать резервную копию перфоратора на бумажной ленте, который по механическим причинам и для простоты представлял собой кнопку на самом перфораторе, а не на клавиатуре, а затем набрать символ затирания. Поэтому они поместили ключ, производящий рубат, в то место, которое используется на пишущих машинках для возврата на место. Когда системы использовали эти терминалы и обеспечивали редактирование из командной строки, им приходилось использовать код «rubout» для выполнения возврата на следующий уровень, и часто они не интерпретировали символ возврата (они могли отображать « ^H "для возврата на место). Другие терминалы, не предназначенные для использования на бумажной ленте, заставляли клавишу в этом месте создавать Backspace, а системы, разработанные для них, использовали этот символ для резервного копирования. Поскольку код удаления часто вызывал эффект возврата на место, это также вынуждало производителей терминалов сделать что-нибудь Delete ключ производит что-то иное, чем символ удаления.
  8. ^ Символ табуляции также можно ввести, нажав кнопку Tab ↹ ключ в большинстве систем.
  9. ^ Символ возврата каретки также можно ввести, нажав кнопку ↵ Enter или Return ключ в большинстве систем.
  10. ^ \e escape-последовательность не является частью ISO C и многих других спецификаций языка. Однако его понимают несколько компиляторов, включая GCC .
  11. ^ Символ Escape также можно ввести, нажав кнопку Esc ключ в некоторых системах.
  12. ^ ^^ означает Ctrl+ ^ (нажатие клавиши «Ctrl» и клавиши курсора ).
  13. ^ Символ удаления иногда можно ввести, нажав кнопку ← Backspace ключ в некоторых системах.
  14. ^ В распечатанном виде символы:
     !"#$%&'()*+,-./0123456789:;<=>?​@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_​`abcdefghijklmnopqrstuvwxyz{|}~
  1. ^ АНСИ (1 декабря 1975 г.). ISO-IR-6: Набор графических символов ASCII (PDF) . ITSCJ/ IPSJ .
  2. ^ Перейти обратно: а б «Наборы символов» . Управление по присвоению номеров в Интернете (IANA) . 14 мая 2007 г. Проверено 25 августа 2019 г.
  3. ^ Перейти обратно: а б с д и ж г час я дж к л м н тот п д р с Маккензи, Чарльз Э. (1980). Наборы кодированных символов, история и развитие (PDF) . Серия системного программирования (1-е изд.). Addison-Wesley Publishing Company, Inc., стр. 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 . Архивировано (PDF) из оригинала 26 мая 2016 г. Проверено 25 августа 2019 г.
  4. ^ «Предложение Milestone: ASCII Milestone — секция побережья IEEE NJ» . Вики-страница IEEE Milestones . 29 марта 2016 г. Проверено 26 февраля 2024 г.
  5. ^ Перейти обратно: а б Брандель, Мэри (6 июля 1999 г.). «1963: Дебют ASCII» . CNN . Архивировано из оригинала 17 июня 2013 г. Проверено 14 апреля 2008 г.
  6. ^ Перейти обратно: а б с д «Американский стандартный код обмена информацией, ASA X3.4-1963» . Чувствительные исследования . Американская ассоциация стандартов . 17 июня 1963 г. Проверено 6 июня 2020 г.
  7. ^ Перейти обратно: а б с Стандартный код США для обмена информацией, USAS X3.4-1967 (технический отчет). Институт стандартов США . 07.07.1967.
  8. ^ Дженнингс, Томас Дэниел (20 апреля 2016 г.) [1999]. «Аннотированная история некоторых кодов символов или ASCII: американский стандартный код для проникновения информации» . Чувствительные исследования (SR-IX) . Проверено 8 марта 2020 г.
  9. ^ Перейти обратно: а б с д Американский национальный стандарт для информационных систем — Наборы кодированных символов — 7-битный Американский национальный стандартный код для обмена информацией (7-битный ASCII), ANSI X3.4-1986 (Технический отчет). Американский национальный институт стандартов (ANSI). 26 марта 1986 г.
  10. ^ Перейти обратно: а б Серф, Винт (16 октября 1969). Формат ASCII для сетевого обмена . Сетевая рабочая группа. дои : 10.17487/RFC0020 . РФК 20 . Проверено 13 июня 2016 г. (Примечание. Формулировка почти идентична USAS X3.4-1968, за исключением вступления.)
  11. ^ Барри Лейба (12 января 2015 г.). «Правильная классификация RFC 20 (формат ASCII) по стандарту Интернета» . IETF .
  12. ^ Ширли, Р. (август 2007 г.). Глоссарий по интернет-безопасности, версия 2 . дои : 10.17487/RFC4949 . РФК 4949 . Проверено 13 июня 2016 г.
  13. ^ Майни, Анил Кумар (2007). Цифровая электроника: принципы, устройства и приложения . Джон Уайли и сыновья . п. 28. ISBN  978-0-470-03214-5 . Кроме того, он определяет коды для 33 непечатаемых, в основном устаревших управляющих символов, влияющих на обработку текста.
  14. ^ Букштейн, Эд (июль 1964 г.). «Двоичные компьютерные коды и ASCII» . Мир электроники . 72 (1): 28–29. Архивировано из оригинала 3 марта 2016 г. Проверено 22 мая 2016 г.
  15. ^ Перейти обратно: а б с д и ж Бемер, Роберт Уильям (1980). «Глава 1: Внутри ASCII» (PDF) . Программное обеспечение общего назначения . Лучшее из эпохи интерфейса. Том. 2. Портленд, Орегон, США: dilitium Press. стр. 1–50. ISBN  978-0-918398-37-6 . LCCN   79-67462 . Архивировано из оригинала 27 августа 2016 г. Получено 27 августа 2016 г. из :
  16. ^ Краткий отчет: Заседание рабочей группы CCITT по новому телеграфному алфавиту, 13–15 мая 1963 г.
  17. ^ Отчет ISO/TC/97/SC 2 – заседание 29–31 октября 1963 г.
  18. ^ Отчет оперативной группы X3.2.4, 11 июня 1963 г., Здание Пентагона, Вашингтон, округ Колумбия.
  19. ^ Отчет о заседании № 8, Целевая группа X3.2.4, 17 и 18 декабря 1963 г.
  20. ^ Перейти обратно: а б с Винтер, Дик Т. (2010) [2003]. «Американские и международные стандарты: ASCII» . Архивировано из оригинала 16 января 2010 г.
  21. ^ Перейти обратно: а б Стандартный код США для обмена информацией, USAS X3.4-1968 (технический отчет). Институт стандартов США . 10 октября 1968 г.
  22. ^ Перейти обратно: а б с д и ж г Сальсте, Туомас (январь 2016 г.). «7-битные наборы символов: версии ASCII» . Айвосто Ой. урна : nbn:fi-fe201201011004 . Архивировано из оригинала 13 июня 2016 г. Проверено 13 июня 2016 г.
  23. ^ "Информация". Scientific American (специальный выпуск). 215 (3). Сентябрь 1966 г. JSTOR   e24931041 .
  24. ^ Корпела, Юкка К. (14 марта 2014 г.) [07 июня 2006 г.]. Объяснение Unicode - интернационализация документов, программ и веб-сайтов (2-й выпуск 1-го изд.). О'Рейли Медиа, Инк . с. 118. ИСБН  978-0-596-10121-3 .
  25. ^ ANSI INCITS 4-1986 (R2007): Американский национальный стандарт для информационных систем – Наборы кодированных символов – 7-битный Американский национальный стандартный код для обмена информацией (7-битный ASCII) , 2007 [1986]
  26. ^ «INCITS 4-1986 [R2012]: Информационные системы — Наборы кодированных символов — 7-битный американский национальный стандартный код для обмена информацией (7-битный ASCII)» . 15 июня 2012 г. Архивировано из оригинала 28 февраля 2020 г. Проверено 28 февраля 2020 г.
  27. ^ «INCITS 4-1986 [R2017]: Информационные системы — Наборы кодированных символов — 7-битный американский национальный стандартный код для обмена информацией (7-битный ASCII)» . 02.11.2017 [09.06.2017]. Архивировано из оригинала 28 февраля 2020 г. Проверено 28 февраля 2020 г.
  28. ^ https://webstore.ansi.org/standards/incits/incits1986r2022.
  29. ^ Последовательность битов американского национального стандартного кода для обмена информацией при побитовой передаче данных , Американский национальный институт стандартов (ANSI), 1966, X3.15-1966.
  30. ^ «Регламент телеграфа и Заключительный протокол (Мадрид, 1932 г.)» (PDF) . Архивировано из оригинала 21 августа 2023 г. Проверено 9 июня 2024 г.
  31. ^ Перейти обратно: а б Смит, Гил (2001). «Коды телетайпной связи» (PDF) . Бодо.нет. Архивировано (PDF) из оригинала 20 августа 2008 г. Проверено 11 июля 2008 г.
  32. ^ Сойер, Стэнли А.; Кранц, Стивен Джордж (1995). Учебник по TeX для ученых . ЦРК Пресс . п. 13. Бибкод : 1995tps..книга.....S . ISBN  978-0-8493-7159-2 . Архивировано из оригинала 22 декабря 2016 г. Проверено 29 октября 2016 г.
  33. ^ Савард, Джон Дж. Г. «Компьютерные клавиатуры» . Архивировано из оригинала 24 сентября 2014 г. Проверено 24 августа 2014 г.
  34. ^ «ASCII-бетическое определение» . Журнал ПК . Архивировано из оригинала 9 марта 2013 г. Проверено 14 апреля 2008 г.
  35. ^ Резник, Питер В., изд. (апрель 2001 г.). Формат Интернет-сообщений . дои : 10.17487/RFC2822 . РФК 2822 . Проверено 13 июня 2016 г. (Примечание. NO-WS-CTL.)
  36. ^ МакКоннелл, Роберт; Хейнс, Джеймс; Уоррен, Ричард. «Понимание кодов ASCII» . Архивировано из оригинала 27 февраля 2014 г. Проверено 11 мая 2014 г.
  37. ^ Барри Марголин (29 мая 2014 г.). «Re: История редактора и текстового процессора (было: Re: RTF для emacs)» . help-gnu-emacs (список рассылки). Архивировано из оригинала 14 июля 2014 г. Проверено 11 июля 2014 г.
  38. ^ Перейти обратно: а б «Руководство по мультипрограммной системе PDP-6» (PDF) . Корпорация цифрового оборудования (DEC). 1965. с. 43. Архивировано (PDF) из оригинала 14 июля 2014 г. Проверено 10 июля 2014 г.
  39. ^ Перейти обратно: а б «Справочное руководство по PDP-10, книга 3, Связь с монитором» (PDF) . Корпорация цифрового оборудования (DEC). 1969. с. 5-5. Архивировано (PDF) из оригинала 15 ноября 2011 г. Проверено 10 июля 2014 г.
  40. ^ «Справка — Руководство по GNU Emacs» . Архивировано из оригинала 11 июля 2018 г. Проверено 11 июля 2018 г.
  41. ^ «Управляющие последовательности XTerm» . Проверено 17 января 2024 г.
  42. ^ Тим Патерсон (8 августа 2007 г.). «Является ли DOS копией CP/M?» . Досман дрель . Архивировано из оригинала 20 апреля 2018 г. Проверено 19 апреля 2018 г.
  43. ^ Оссанна, JF ; Зальцер, Дж. Х. (17–19 ноября 1970 г.). «Технические и кадровые проблемы при подключении терминалов к системе разделения времени» (PDF) . 17–19 ноября 1970 Материалы осенней объединенной компьютерной конференции (FJCC) г. АФИПС Пресс. стр. 355–362. Архивировано (PDF) из оригинала 19 августа 2012 г. Проверено 29 января 2013 г. Использование функции «новой строки» (комбинированного возврата каретки и перевода строки) проще как для человека, так и для машины, чем использование обеих функций для начала новой строки; Американский национальный стандарт X3.4-1968 позволяет коду перевода строки иметь значение новой строки.
  44. ^ О'Салливан, Т. (19 мая 1971 г.). ТЕЛНЕТ-протокол . Целевая группа инженеров Интернета (IETF). стр. 4–5. дои : 10.17487/RFC0158 . РФК 158 . Проверено 28 января 2013 г.
  45. ^ Нейгус, Нэнси Дж. (12 августа 1973 г.). Протокол передачи файлов . Целевая группа инженеров Интернета (IETF). дои : 10.17487/RFC0542 . РФК 542 . Проверено 28 января 2013 г.
  46. ^ Постел, Джон (июнь 1980 г.). Протокол передачи файлов . Целевая группа инженеров Интернета (IETF). дои : 10.17487/RFC0765 . РФК 765 . Проверено 28 января 2013 г.
  47. ^ «План перевода EOL для Mercurial» . Меркуриальный. Архивировано из оригинала 16 июня 2016 г. Проверено 24 июня 2017 г.
  48. ^ Бернштейн, Дэниел Дж. «Голые LF в SMTP» . Архивировано из оригинала 29 октября 2011 г. Проверено 28 января 2013 г.
  49. ^ Руководство по интерфейсу CP/M 1.4 (PDF) . Цифровые исследования . 1978. с. 10. Архивировано (PDF) из оригинала 29 мая 2019 г. Проверено 7 октября 2017 г.
  50. ^ Хейнс, Джим (13 января 2015 г.). «Из первых рук: Чад — наш самый важный продукт: воспоминания инженера о Teletype Corporation» . Wiki по истории техники и технологий (ETHW) . Проверено 14 февраля 2023 г. Произошло изменение с ASCII 1961 года на ASCII 1968 года. В некоторых компьютерных языках использовались символы ASCII 1961 года, такие как стрелка вверх и стрелка влево. Эти символы исчезли из ASCII 1968 года. Мы работали с Фредом Мокингом, который к тому времени работал в отделе продаж в Teletype , над печатным цилиндром, который бы скомпрометировал меняющиеся символы, чтобы значения ASCII 1961 года не были полностью потеряны. Символ подчеркивания был сделан скорее клиновидным, чтобы он мог также служить стрелкой влево.
  51. ^ Бемер, Роберт Уильям . «Бемер встречает Европу (компьютерные стандарты) - эпизоды из истории компьютеров» . Трейлинг-эдж.com. Архивировано из оригинала 17 октября 2013 г. Проверено 14 апреля 2008 г. (Примечание: Бемер в то время работал в IBM .)
  52. ^ «Роберт Уильям Бемер: Биография» . 09.03.2013. Архивировано из оригинала 16 июня 2016 г.
  53. ^ Джонсон, Линдон Бэйнс (11 марта 1968 г.). «Меморандум об одобрении принятия Федеральным правительством Стандартного кодекса обмена информацией» . Проект американского президентства. Архивировано из оригинала 14 сентября 2007 г. Проверено 14 апреля 2008 г.
  54. ^ Ричард С. Шуфорд (20 декабря 1996 г.). «Re: Ранняя история ASCII?» . Группа новостей : alt.folklore.computers . Usenet:   [электронная почта защищена] .
  55. ^ Фолтс, Гарольд К.; Карп, Гарри, ред. (1 февраля 1982 г.). Сборник стандартов передачи данных (2-е исправленное издание). McGraw-Hill Inc. ISBN  978-0-07-021457-6 .
  56. ^ Дубост, Карл (6 мая 2008 г.). «Рост UTF-8 в Интернете» . Блог W3C . Консорциум Всемирной паутины . Архивировано из оригинала 16 июня 2016 г. Проверено 15 августа 2010 г.
  57. ^ Перейти обратно: а б Дэвис, Марк (5 мая 2008 г.). «Переход на Юникод 5.1» . Официальный блог Google . Архивировано из оригинала 16 июня 2016 г. Проверено 15 августа 2010 г.
  58. ^ Дэвис, Марк (28 января 2010 г.). «Unicode занимает около 50% Интернета» . Официальный блог Google . Архивировано из оригинала 16 июня 2016 г. Проверено 15 августа 2010 г.
  59. ^ «Конкретные критерии», приложение к записке RW Reach, «Встреча X3-2 - 14 и 15 сентября», 18 сентября 1961 г.
  60. ^ Марешаль, Р. (1967-12-22), ISO/TC 97 – Компьютеры и обработка информации: принятие проекта Рекомендации ISO № 1052
  61. ^ «Спецификация DVB-TXT (телетекст) для передачи телетекста ITU-R System B в битовых потоках DVB» .
  62. ^ Технический справочник (PDF) . Справочная библиотека по аппаратному обеспечению персонального компьютера (первое изд.). ИБМ. Август 1981 г. Приложение C. Нажатия клавиш и цвет символов.
  63. ^ Консорциум Unicode (27 октября 2006 г.). «Глава 13: Специальные области и символы форматирования» (PDF) . В Аллене, Джули Д. (ред.). Стандарт Unicode, версия 5.0 . Река Аппер-Сэддл, Нью-Джерси, США: Addison-Wesley Professional . п. 314. ИСБН  978-0-321-48091-0 . Архивировано (PDF) из оригинала 9 октября 2022 г. Проверено 13 марта 2015 г.
  64. ^ «utf-8(7) — страница руководства Linux» . Man7.org. 26 февраля 2014 г. Архивировано из оригинала 22 апреля 2014 г. Проверено 21 апреля 2014 г.

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

[ редактировать ]
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 251be6e603dd5f39c01aa8b4de63aecd__1722759120
URL1:https://arc.ask3.ru/arc/aa/25/cd/251be6e603dd5f39c01aa8b4de63aecd.html
Заголовок, (Title) документа по адресу, URL1:
ASCII - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)