ASCII
ASCII | |
---|---|
![]() | |
Орган стандартизации | Национальный институт стандартов США |
![]() |
ASCII (англ. AmericanStandardCode forInformationInterchange, [ˈæs.ki][1]) — стандарт кодирования букв латинского алфавита, цифр, некоторых специальных знаков иуправляющих символов, принятый в 1963 годуАмериканской ассоциацией стандартов как основной способ представления текстовых данных вЭВМ[2].
Во избежание путаницы снациональными вариантами ASCII, используемыми в других странах,IANA рекомендует обозначать оригинальный вариант кода как US-ASCII[3].
Описание
[править |править код]
Стандарт ASCII представляет собой 7-битный код без рекомендаций относительно контроля чётности, содержащий 27 = 128 кодовых позиций[4], в которых размещены следующие символы:
- десятичные цифры;
- латинские буквы;
- знаки препинания;
- орфографические знаки;
- диакритические знаки;
- математические символы;
- управляющие символы.
История
[править |править код]С развитием вычислительной техники иязыков программирования возможностейтелетайпного кодаITA2 стало не хватать, что вынуждало производителей ЭВМ создавать расширения для ITA2 или же свои собственные коды. Кроме того, для записи наперфокарты использовались различные вариантыкода Холлерита[англ.]. Таким образом, к началу 1960-х годов существовало достаточно большое количество кодировок латиницы, используемых как для передачи по линиям связи, так и для записи на носители — магнитную ленту, перфоленту и перфокарты, — таких как ITA2,FIELDATA[англ.], различные вариантыBCDIC и т. д.[5], причём даже в рамках одной и той же кодировки один код мог соответствовать различным символам в зависимости от модели и назначения устройства. Чтобы решить эту проблему, 4 августа 1960 года был создан комитет X3.2 (как часть комитета X3, сформированного 13 января того же года)[6], в который вошли представители компанийIBM (в частности,Роберт Бемер[англ.]),AT&T,Bell Labs и других.
Работа по созданию ASCII началась 6 октября 1960 года[6], и 17 июня 1963 года, почти 3 года спустя, была опубликована его первая редакция (ASA X3.4—1963)[7]. В ней отсутствовалистрочные буквы, а область из 28 кодовых позиций0x60
—0x7B
была зарезервирована для дальнейшего использования[8][9]. Велись споры о том, как использовать эту область — для добавления строчных букв или же управляющих символов.
В 1965 году была подготовлена новая редакция ASCII (ASA X3.4—1965), которая, однако, так и не была опубликована и не использовалась нигде, кроме терминаловIBM 2260/2848 и принтеров IBM 1053 (да и то без строчных букв и некоторых других символов)[10]. Следующая редакция ASCII (USAS X3.4—1967) была опубликована 5 июля 1967 года и определила окончательную кодовую таблицу[11]. Новые редакции ASCII продолжили выходить и далее (USAS X3.4—1968, ANSI X3.4—1977, ANSI X3.4—1986 и т. д.), однако кодовую таблицу изменения в них более не затрагивали.
В целом, внедрение ASCII долгое время саботировалось компанией IBM, отдававшей предпочтение собственной кодировкеEBCDIC, являющейся дальнейшим развитием кодировки BCDIC, также созданной IBM и основанной, в свою очередь, на коде Холлерита[7].
Структурные свойства таблицы
[править |править код]Первая редакция ASCII содержала 36 управляющих символов, пробел, 10 арабских цифр, 26 заглавных латинских букв и 27 специальных символов, подразделяемых на группы[12]:
- 8 знаков препинания (
.
,,
,:
,;
,!
,?
,'
,"
); - 5 знаков для финансовых и биржевых операций (
#
,$
,%
,&
,@
); - 2 пары скобок (
(
,)
,[
,]
); - 8 математических символов (
+
,-
,*
,/
,\
,=
,<
,>
)[a]; - 2 стрелки для блок-схем (
↑
,←
).
Символ «подушка» (⌑
), имевшийся в наборе доступных символов многих печатающих устройств того времени и присутствовавший в кодировках BCDIC, FIELDATA и др., ни в одну из редакций ASCII не вошёл.
В редакции 1967 года был пересмотрен (сокращён до 33) набор управляющих символов и убраны стрелки, а также добавлены строчные буквы и 7 дополнительных символов (^
,_
,`
,{
,|
,}
,~
), после чего кодовая таблица приняла окончательный вид[13]:
.0 | .1 | .2 | .3 | .4 | .5 | .6 | .7 | .8 | .9 | .A | .B | .C | .D | .E | .F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0. | NUL | SOH | STX | ETX | EOT | ENQ | ACK | BEL | BS | HT | LF | VT | FF | CR | SO | SI |
1. | DLE | DC1 | DC2 | DC3 | DC4 | NAK | SYN | ETB | CAN | EM | SUB | ESC | FS | GS | RS | US |
2. | SP | ! | " | # | $ | % | & | ' | ( | ) | * | + | , | - | . | / |
3. | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | : | ; | < | = | > | ? |
4. | @ | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O |
5. | P | Q | R | S | T | U | V | W | X | Y | Z | [ | \ | ] | ^ | _ |
6. | ` | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o |
7. | p | q | r | s | t | u | v | w | x | y | z | { | | | } | ~ | DEL |
Все символы в ASCII делятся на 4 группы по 32 символа[14]:
- Управляющие символы предназначены для управления передачей и выводом текста на терминал[15]. Группа начинается с символаNUL (
0x00
), означающего незаписанный участок носителя, например перфоленты, и игнорируемого при выводе на экран или на печать[16]. За пределами группы, в конце таблицы также располагается символDEL (0x7F
), означающий пробитый целиком участок перфоленты и сигнализирующий о том, что символ, записанный здесь ранее, был удалён, а значит, его также следует пропустить[16][17].- Сами управляющие символы основной группы изначально были разделены на 4 подгруппы: управление передачей (
0x01
—0x07
), форматирование (0x08
—0x0F
), управление устройством (0x10
—0x17
) и разделители потоков данных (0x18
—0x1F
)[18]. В редакции 1967 года этот порядок был отчасти нарушен из-за переноса дополнительных управляющих символов.
- Сами управляющие символы основной группы изначально были разделены на 4 подгруппы: управление передачей (
- Группа цифр и основных знаков препинания делится на две подгруппы по 16 символов, соответствующие верхнему и нижнему регистру.
- Группа начинается с пробела (
0x20
) — было принято решение, что пробел должен считатьсяпечатным, а не управляющим символом, но при этом располагаться в самом начале для корректной работыалгоритмов сортировки[19]. - 9 символов после пробела — знаки препинания (
!
,"
,#
,$
,%
,&
,'
,(
,)
), идущие в том порядке, в котором их располагали на клавиатурахпишущих машин тех лет[12], за исключением скобок, которые заняли позиции0x28
и0x29
, поскольку цифра 0 оказалась под кодовой позицией пробела[20]. Впрочем, на некоторых электромеханических пишущих машинах, в частностиIBM Selectric, расположение этих знаков было иным в связи с наличием у них механизма дозирования силы удара, который требовал расположения на одной клавише знаков, близких пооптической плотности. Окончательно отличное от кодовой таблицы ASCII положение этих знаков было закреплено вIBM PC. - Цифры идут во второй подгруппе — такое решение было принято для простоты преобразования ASCII в 4-битныйдвоично-десятичный код (BCD) и обратно, соответственно, путём отброса или добавления старших трёх битов кода цифры (0112): так, например, цифре 5 соответствует код
0x35
(01101012) в ASCII и 01012 в BCD. По этой причине цифры невозможно было разместить в первой подгруппе, поскольку в ней первым идёт пробел[17][21]. Другая причина расположения цифр в этой подгруппе — необходимость того, чтобы при сортировке большинство знаков препинания располагалось раньше цифр и букв[22]. - Символы точки и запятой в пишущих машинах тех лет дублировались в обоих регистрах. При создании ASCII было решено не дублировать их, а разместить в спаренных позициях символы
<
и>
[23]. Знак вопроса также спарен со знаком косой черты как на пишущих машинах[12].
- Группа начинается с пробела (
- Группа заглавных букв начинается с символа «коммерческое „эт“» (@,
0x40
) — предполагалось, что для машин, поставляемых во Францию и Италию, этот символ будет заменяться на буквуÀ
. Положение заглавных латинских букв и цифр было выбрано из соображений совместимости сшестибитной кодировкой DEC SIXBIT. Три позиции после заглавных букв (0x5B
,0x5C
и0x5D
) также предполагалось при необходимости заменять на национальные символы. В редакции 1963 года в позициях0x5E
и0x5F
располагались, соответственно, символы «стрелка вверх» (↑) и «стрелка влево» (←), заменённые в редакции 1965 года нациркумфлекс (^) иподчёркивание (_). - Группа строчных букв появилась в редакции 1965 года и была частично пересмотрена в редакции 1967 года. Все строчные буквы расположены так же, как и соответствующие заглавные, что позволяет переключать регистринвертированием 6-го бита (если первым считать самый младший бит). Позиции
0x60
,0x7B
,0x7C
и0x7D
также предполагалось при необходимости заменять на национальные символы. Символлогического отрицания (¬,0x7C
), добавленный в редакции 1965 года, в редакции 1967 года был убран.
Важная особенность ASCII — он, в отличие, к примеру, от ITA2, не использует переключение регистров[22]. Хотя переключение регистров могло бы уменьшить число битов, требуемое для кодирования сообщения, и, следовательно, уменьшить время передачи и занимаемое место на носителях, оно также повысило бы вероятность не прочесть сообщение при его повреждении[24]. Таким образом, было решено отказаться от использования регистров и уместить все символы в 7 бит[22]. Тем не менее, для возможности дальнейшего расширения ASCII в набор включены символыESC,SI иSO[24].
Управляющие символы
[править |править код]Стандарт ASCII создавался не только для применения в ЭВМ, но и для обмена информацией потелетайпу. В набор были включены непечатаемые символы, используемые как команды управления телетайпом. Аналогичные команды имелись и в других докомпьютерных средствах обмена сообщениями, где они применялись с учётом специфики устройства и передавались, например,азбукой Морзе иликодом Бодо. Большинство управляющих символов ASCII вскоре утратило своё назначение и в современных компьютерных системах не используется.
Сообщения, передаваемые по каналу связи, делились на две части:
- заголовок;
- текст.
«Заголовок» мог содержать адреса отправителя и получателя,контрольную сумму и т. п.; мог размещаться до «текста» или после. Термином «текст» называлась часть сообщения, предназначенная для печати.
Символ | Код | Расшифровка | Перевод | Описание |
---|---|---|---|---|
NUL | 0x00 | null | пусто | СимволNUL всегда игнорировался.Носителем информации для телетайпов и первых компьютеров былаперфолента, на которой единичный бит представлялся наличием кодового отверстия, а нулевой бит — его отсутствием. Участки перфоленты, на которых не была записана информация, не имели кодовых отверстий (то есть содержали символыNUL ). СимволNUL по сей день используется в некоторыхязыках программирования (например,Си) как признакконца строки (термин «строка» обозначает последовательность символов). В некоторыхоперационных системахNUL — последний символ любоготекстового файла.Во многих языках программирования обозначается как |
SOH | 0x01 | startofheading | начало «заголовка» | СимволSOH отмечает данные, не относящиеся к «тексту»: часть потока, содержащую адреса и другие служебные данные (собственно «заголовок»). |
STX | 0x02 | start oftext | начало «текста» | Включить печатающее устройство (телетайп). Текст для печати располагался между символамиSTX иETX . |
ETX | 0x03 | end oftext | конец «текста» | Выключить печатающее устройство (телетайп). В наши дни символETX используется для отправкипроцессусигналаSIGINT (отангл. signalinterrupt — «сигнал-прерывание») и может быть набран нажатием комбинации клавишCtrl+C. Получив такой сигнал, процесс должензавершить работу[англ.]. |
EOT | 0x04 | endoftransmission | конец передачи | Символ используетсяэмуляторами терминалов в значенииEOF (отангл. endoffile — «конец файла») и может быть отправлен нажатием комбинации клавишCtrl+D. Получив такой сигнал, эмулятор терминала определит процесс, который в данный момент работает с терминалом, и установит в потокеstdin (отангл. standardinput stream — «стандартный поток ввода») этого процесса признак «конец файла». В результате процесс прекратитчтение[англ.]stdin и начнёт обработку прочитанных данных. |
ENQ | 0x05 | enquiry | «Прошу подтверждения!» | |
ACK | 0x06 | acknowledgement | «Подтверждаю!» | СимволNAK означает обратное:«Не подтверждаю!». |
BEL | 0x07 | bell | звуковой сигнал: звонок | Используется для подачи звукового сигнала. Во многих языках программирования обозначается как |
BS | 0x08 | backspace | возврат на один символ | Передаётся при нажатии клавиши←Backspace. Во многих языках программирования обозначается как |
HT | 0x09 | horizontaltab | горизонтальнаятабуляция | Во многих языках программирования обозначается как\t . |
LF | 0x0A | linefeed | перевод строки | Команда для опускания каретки печатающего устройства на одну строку вниз. Обозначение конца строки различается в семействах операционных систем:
Многиетерминалы 1970—1980-х годов содержали переключатель поведения клавиши↵ Return, позволяющий посылать при нажатии на неё либо последовательность Во многих языках программирования обозначается как |
VT | 0x0B | verticaltab | вертикальнаятабуляция | Во многих языках программирования обозначается как\v . |
FF | 0x0C | formfeed | «прогон страницы», новая страница | Команда дляпринтера: продолжить печать с начала следующего листа. Во многих языках программирования обозначается как |
CR | 0x0D | carriagereturn | возврат каретки | Команда для принтера: продолжить печать с начала текущей строки (не с новой строки). В классических версиях операционной системыMac OS символCR обозначал конец строки текстового файла. С клавиатуры символCR может быть введён нажатием комбинации клавиш:Ctrl+M.Во многих языках программирования обозначается как |
SO | 0x0E | shiftout | «Переключиться на другую ленту (кодировку)» | Другая лента обычно была окрашена в красный цвет. В дальнейшем символ использовался для переключения на национальную кодировку. |
SI | 0x0F | shiftin | «Переключиться на исходную ленту (кодировку)» | Команда для выполнения действия, обратного действиюSO . |
DLE | 0x10 | datalinkescape | «Экранирование канала данных» | Любые символы, следующие послеDLE , должны восприниматься как данные, а не как управляющие символы. |
DC1 | 0x11 | devicecontrol1 | Первый символ управления устройством | Команда включить устройство чтенияперфоленты. |
DC2 | 0x12 | devicecontrol2 | Второй символ управления устройством | Команда включитьперфоратор. |
DC3 | 0x13 | devicecontrol3 | Третий символ управления устройством | Команда выключить устройство чтения перфоленты. |
DC4 | 0x14 | devicecontrol4 | Четвёртый символ управления устройством | Команда выключить перфоратор. |
NAK | 0x15 | negativeacknowledgement | «Не подтверждаю!» | Обратно символуACK . |
SYN | 0x16 | synchronous idle | синхронное ожидание | СимволDLE использовался (передавался) для сохранения синхронизма передатчика и приёмника в системахсинхронной связи, когда фактически передавать было нечего. |
ETB | 0x17 | end oftransmissionblock | конец блока передаваемых данных | Иногда данные (по техническим причинам) разбивались на блоки. |
CAN | 0x18 | cancel | «Отмена» | Отмена того, что было передано ранее. |
EM | 0x19 | end ofmedium | «Конец носителя» | Кончилась бумага, перфолента,магнитная лента и т. п. |
SUB | 0x1A | substitute | «Подставить» | Символ ставится:
В настоящее время символ вставляется нажатием комбинации клавишCtrl+Z и используется для обозначения конца файла в операционных системахDOS иWindows. |
ESC | 0x1B | escape | экранирование | Признак того, что символ, следующий послеESC , имеет какое-то другое (отличное от определённого в ASCII) значение. Обычно после символаESC следуютуправляющие последовательности; в операционной системеDOS они реализуются драйверомANSI.SYS. |
DEL | 0x7F | delete | «Забой», стереть последний символ | СимволомDEL (состоящим из семи единичных битов) можно было «забить» любой символ. Устройства и программы игнорировалиDEL так же, как иNUL .Код этого символа происходит из первыхтекстовых процессоров с памятью наперфоленте: в них удаление символа происходило «забиванием» его кода отверстиями (обозначавшимилогические единицы). |
Поддерживалось разделение данных на 4 уровня:
Символ | Код | Расшифровка | Перевод | Описание |
---|---|---|---|---|
FS | 0x1C | fileseparator | разделитель файлов | сообщение могло состоять из файлов |
GS | 0x1D | groupseparator | разделитель групп | файлы могли состоять из групп |
RS | 0x1E | recordseparator | разделитель записей | группы могли состоять из записей |
US | 0x1F | unitseparator | разделитель полей | записи могли состоять из полей |
Наложение символов
[править |править код]С помощью символаBS (возврат на один символ) напечатающем устройстве (например,АЦПУтелетайпа илиматричном принтере) можно напечатать один символ поверх другого. В ASCII таким же способом можно добавить к буквамдиакритические знаки[25], например:
a
BS
'
→áa
BS
`
→àa
BS
^
→âu
BS
"
→űo
BS
/
→øc
BS
,
→çn
BS
~
→ñ
Разработчикамшрифтов рекомендовалось учитывать возможность использованиядвойной кавычки ("),апострофа ('),запятой (,) итильды (~) в качестве диакритических знаков, агрависа (`) — в качестве открывающей одиночной кавычки[25]. Поэтому в некоторых шрифтах, предназначенных для использования втерминалах (в частности,Terminus) апостроф и двойная кавычка могут рисоваться с наклоном вправо, а тильда — быть сдвинутой вверх, чтобы они могли использоваться в качествеакута (´),двойного акута (˝) итильды сверху (˜).
Если в одной позиции дважды напечатать один и тот же символ, получитсяжирный символ; если в одной позиции напечатать символ и подчёркивание (_), получится подчёркнутый символ:
a
BS
a
→aa
BS
_
→a
Эта техника до сих пор используется, например, в справочной системеman.
Представление ASCII в ЭВМ
[править |править код]С конца 1960-х годов на большинстве выпускающихся компьютеров минимально адресуемой единицей памяти стал 8-битныйбайт (октет), поэтому там используются 8-битные, а не 7-битные символы. Обычно символ ASCII дополняют до 8 бит, просто добавляя один нулевой бит в качествестаршего бита октета.
USASCII-8
[править |править код]На компьютерахIBM/360 применялся другой метод: 6-й бит (если первым считать самый младший бит) перемещается в 7-й, а бывший 7-й «раздваивается» и копируется и в 8-й бит, и в 6-й[26]. Такую кодировку называли USASCII-8[27].
.0 | .1 | .2 | .3 | .4 | .5 | .6 | .7 | .8 | .9 | .A | .B | .C | .D | .E | .F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0. | NUL | SOM | EOA | EOM | EQT | WRU | RU | BELL | BKSP | HT | LF | VT | FF | CR | SO | SI |
1. | DC0 | DC1 | DC2 | DC3 | DC4 | ERR | SYNC | LEM | S0 | S1 | S2 | S3 | S4 | S5 | S6 | S7 |
2. | ||||||||||||||||
3. | ||||||||||||||||
4. | BLANK | ! | " | # | $ | % | & | ' | ( | ) | * | + | , | - | . | / |
5. | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | : | ; | < | = | > | ? |
6. | ||||||||||||||||
7. | ||||||||||||||||
8. | ||||||||||||||||
9. | ||||||||||||||||
A. | @ | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O |
B. | P | Q | R | S | T | U | V | W | X | Y | Z | [ | \ | ] | ↑ | ← |
C. | ||||||||||||||||
D. | ||||||||||||||||
E. | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | |
F. | p | q | r | s | t | u | v | w | x | y | z | ESC | DEL |
На компьютерах с минимально адресуемой единицей памяти в 36 бит поначалу использовали6-битные символы (1 слово = 6 символов). После перехода на ASCII на таких компьютерах в одном слове стали размещать либо 5 семибитных символов (1 бит оставался лишним), либо 4 девятибитных символа.
Ввод с клавиатуры
[править |править код]Расположение символов ASCII наклавиатуре согласно ANSI X4.14—1971: символы верхнего регистра вводятся в сочетании с клавишей⇧ Shift, а управляющие символы — сCtrl[28].
1
2
3
4
5
6
7
8
9
0
-
^
\
q
w
e
r
t
y
u
i
o
p
@
[
␡
a
s
d
f
g
h
j
k
l
;
:
]
z
x
c
v
b
n
m
,
.
/
На кодах символов ASCII основаны используемые в программировании промежуточныекроссплатформенные коды нажатых клавиш (в противовесскан-кодам IBM PC и прочим внутренним кодам). Ниже показано соответствие данных кодов клавишам для латинскойраскладкиQWERTY[29].
Национальные варианты и расширения
[править |править код]7-битные варианты
[править |править код] Возможность адаптации ASCII под нужды других стран предусмотрена сразу в трёх тесно взаимосвязанных стандартах — ISO 646Международной организации по стандартизации (ныне — ISO/IEC 646), ECMA-6Европейской ассоциации производителей компьютеров и рекомендации V.3 (Международный алфавит № 5)Международного консультативного комитета по телеграфии и телефонии (ныне — рекомендацияT.50[англ.] (Международный справочный алфавит)Сектора стандартизации электросвязи МСЭ). Для этого предлагается заменять символы@
,[
,\
,]
,^
,`
,{
,|
,}
и~
на национальные. Также допускается заменазнака решётки (#
) назнак фунта (£
), азнака доллара ($
) — назнак валюты (¤
). Унифицированный вариант кода, не содержащий национальные символы, при этом обозначается как IRV (сокр. отангл. international reference version — «международная ссылочная версия»)[b]. ISO 646 IRV был утверждён вСоветском Союзе какКОИ-7 Н0 вГОСТ 13052 (ныне — ГОСТ 27463[30]).
Для некоторых языков с нелатинской письменностью (русского,греческого,арабского,иврита и др.) существовали и более радикальные модификации ASCII:
- в одних на местестрочных латинских букв размещались национальные символы (для русского (КОИ-7 Н2) и греческого вариантов —заглавные буквы);
- в других предусматривалось переключение между ASCII (ISO 646 IRV) и национальным вариантом кода «на лету» с помощью символовSO иSI; в этом случае в национальном варианте можно было полностью заменить латинские буквы на национальные символы (как, например, вКОИ-7 Н1).
8-битные расширения
[править |править код]Со временем стали появляться производные 8-битные кодировки (кодовые страницы), содержащие 28 = 256 кодовых позиций, в которых нижняя половина кодовой таблицы (позиции0x00
—0x7F
), как правило, полностью совпадает с ASCII, а верхняя (позиции0x80
—0xFF
) служит для размещения дополнительных, в том числе национальных, символов. Подобные ASCII-совместимые кодировки, получившие неофициальное собирательное название «расширенный ASCII[англ.]», оказались удобнее упомянутых ранее 7-битных вариантов и широко использовались вплоть до начала повсеместного внедренияЮникода. Впрочем, отсутствие единого подхода к размещению национальных символов в их кодовых таблицах (например,кириллицы вISO/IEC 8859-5,KOI8-R,Windows-1251 и т. д.) порождало множество проблем. Так, например, когдапочтовые клиенты отправителя и получателя использовали различные кодировки для интерпретации текста письма, тот (за исключением символов ASCII) становился нечитаемым (превращался в так называемыекракозябры).
ISO/IEC 10646 и Юникод
[править |править код]Символы ASCII включены в кодированные наборы символов двух тесно взаимосвязанных современных стандартов —ISO/IEC 10646 (UCS) и Юникода — под теми же самыми кодами (0x00
—0x7F
), благодаря чему представлениеUTF-8 полностьюобратно совместимо с 8-битным (см.выше) представлением ASCII. Таким образом, ISO/IEC 10646 и Юникод можно рассматривать как варианты расширения ASCII.
См. также
[править |править код]Примечания
[править |править код]Комментарии
[править |править код]Источники
[править |править код]- ↑ASCII (англ.). The Cambridge English Dictionary. dictionary.cambridge.org. Дата обращения: 9 апреля 2018. Архивировано 27 сентября 2017 года.
- ↑Mackenzie, 1980, p. 211.
- ↑Internet Assigned Numbers Authority. Character Sets (англ.). Дата обращения: 18 ноября 2024. Архивировано 16 ноября 2024 года.
- ↑Иллингуорт, 1990, с. 28.
- ↑Mackenzie, 1980, p. 61.
- ↑12Fischer, 2000, p. 11.
- ↑12Fischer, 2000, p. 21.
- ↑Mackenzie, 1980, p. 66.
- ↑Mackenzie, 1980, p. 245—246.
- ↑Mackenzie, 1980, p. 423—428.
- ↑Fischer, 2000, p. 28.
- ↑123Mackenzie, 1980, p. 240.
- ↑Mackenzie, 1980, p. 246—247.
- ↑Mackenzie, 1980, p. 237.
- ↑Mackenzie, 1980, p. 234.
- ↑12Mackenzie, 1980, p. 235.
- ↑12Mackenzie, 1980, p. 225.
- ↑Mackenzie, 1980, p. 226.
- ↑Mackenzie, 1980, p. 222—224.
- ↑Mackenzie, 1980, p. 241.
- ↑Mackenzie, 1980, p. 239.
- ↑123Mackenzie, 1980, p. 236.
- ↑Mackenzie, 1980, p. 240—241.
- ↑12Mackenzie, 1980, p. 214—215.
- ↑12ASCII67, A5.2, p. 11—12.
- ↑Amdahl G. M.,Blaauw G. A.,Brooks F. P., Jr. Architecture of the IBM System/360 (англ.) // IBM Journal of Research and Development. — 1964. — April (vol. 8,iss. 2). —P. 87—101. —doi:10.1147/rd.82.0087. Архивировано 19 февраля 2025 года.
- ↑Mackenzie, 1980, p. 399—400.
- ↑ANSI X4.14—1971: Alphanumeric Keyboard Arrangements Accommodating the Character Sets of ASCII and ASCSOCR (англ.)
- ↑Keys Enum (англ.). Microsoft.com. Дата обращения: 22 февраля 2025. Архивировано 1 февраля 2025 года.
- ↑ГОСТ 27463—87 (СТ СЭВ 356—86) «Системы обработки информации. 7-битные кодированные наборы символов»
Литература
[править |править код]- American Standard Code for Information Interchange, ASA X3.4—1963.
- USA Standard Code for Information Interchange, USAS X3.4—1967.
- USA Standard Code for Information Interchange, USAS X3.4—1968.
- American National Standard Code for Information Interchange, ANSI X3.4—1977.
- 7-Bit American National Standard Code for Information Interchange (7-Bit ASCII), ANSI X3.4—1986.
Ссылки
[править |править код]- Charles E. Mackenzie. Coded Character Sets, History and Development (англ.). — Addison-Wesley Publishing Company, inc, 1980. —ISBN 0-201-14460-3.
- Fischer, Eric. The Evolution of Character Codes, 1874–1968 (англ.) 14–15 (Table 35) (20 июня 2000). Дата обращения: 30 ноября 2022. Архивировано 30 ноября 2022 года.
- Толковый словарь по вычислительным системам / Под редакцией В. Иллингуорта и др.: Пер. с английского А.К. Белоцкого и др.; Под редакцией Е.К. Масловского. —М.: Машиностроение, 1990. —ISBN 5-217-00617-X.
- Standard ECMA-6: 7-bit coded character set. 6th edition (англ.). Ecma international (декабрь 1991). Архивировано 23 августа 2011 года.
- Tom Jennings. An annotated history of some character codes or ASCII. American standard code for information infiltration (англ.) (29 октября 2004). Архивировано 17 июля 2011 года.
- ASCII chart and other resources (англ.). JimPrice.Com.