ASCII

ASCII (англ. American Standard Code for Information Interchange — американский стандартный код для обмена информацией; по-английски произносится [́эски], по-русски произносится [́аски], и слово ASCII чаще употребляется в женском роде) — 7-битная компьютерная кодировка для представления латинского алфавита, десятичных цифр, некоторых знаков препинания, арифметических операций и управляющих символов. В честь кода ASCII даже был назван небольшой астероид — «3568 ASCII» (открыт в 1936 году, название получил позже).

Возможно, просмотр некоторых символов у Вас будут отображаться не правильно. Зависит это от используемого шрифта, лучше установить шрифт Arial Unicode MS.

Суть проблемы:
История ASCII

Первый вариант ASCII предназначался в основном для передачи сообщений по телетайпу. Он был разработан 1963 году в фирме Bell Laboratories на смену созданной в 1874 году 5-битной кодировке Baudot. (Предшественницей Baudot была азбука Морзе.) В этом варианте ещё не было строчных букв. Они были добавлены в 1967 году, наряду с заменой стрелочки влево на подчерк (_), а стрелочки вверх — на символ ^. Так возник вариант ASCII, используемый и поныне.

По сравнению с Baudot, кодировка ASCII представляла широкий набор обычных и управляющих символов, кроме того, буквы шли подряд и по алфавиту, что позволяло легко сортировать тексты.

7-битный код оказался удобным для использования и в компьютерах, поскольку компьютеры оперировали 8-битными байтами, а 8-й бит можно было использовать для контроля чётности. (Системы, не использовавшие контроль чётности, делали старший бит нулевым или изредка единичным.) Семибитность позволяла также добавить лишние 128 символов для, например, поддержки национальных алфавитов.

Конкурентом ASCII была кодировка EBCDIC, разработанная в 1964 году фирмой IBM для своей операционной системы System/360. Кодировка EBCDIC, однако, была сделана под тогдашние перфораторы и обладала рядом недостатков: была 8-битной (следовательно, не позволяла ни осуществлять контроль чётности, ни добавлять новые символы); буквы шли хотя и по алфавиту, но не подряд (например, после I следует не J, а символ переноса (soft hyphen)). В результате почти везде использовалась ASCII, а EBCDIC — только в системе System/360 и совместимых с ней (например, ОС ЕС). Сейчас даже компьютеры IBM Mainframe используют EBCDIC только для обратной совместимости.

Для кодирования национальных символов использовалось переключение режима с помощью символов SO (Shift Out) и SI (Shift In) — например, в КОИ-7. Впоследствии оказалось удобнее использовать 8-битные кодировки, где нижнюю половину кодовой таблицы (0—127) занимают символы ASCII, а верхнюю (128—255) — разные другие нужные символы.

Кодировка

В Юникоде первые 128 символов тоже совпадают с соответствующими символами ASCII.

  .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 TAB LF VT FF CR SO SI
1. DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US
2.   ! " # $ % & ' ( ) * + , , /
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
Управляющие символы

После названия каждого символа указан его шестнадцатеричный код.

  1. NUL, 00 — Null, пустой. Всегда игнорировался. На перфолентах 1 представлялась дырочкой, 0 - отсутствием дырочки. Поэтому пустые части перфоленты до начала и после конца сообщения состояли из таких символов. Сейчас используется во многих языках программирования как конец строки. (Строка понимается как последовательность символов.) В некоторых операционных системах NUL — последний символ любого текстового файла.
  2. SOH , 01 — Start Of Heading, начало заголовка .
  3. STX , 02 — Start of Text, начало текста . Текстом называлась часть сообщения, предназначенная для печати. Адрес, контрольная сумма и т. д. входили или в заголовок, или в часть сообщения после текста.
  4. ETX , 03 — End of Text, конец текста . Здесь телетайп прекращал печатать. Использование символа Ctrl-C, имеющего код 03, для прекращения работы чего-то (обычно программы), восходит ещё к тем временам.
  5. EOT , 04 — End of Transmission, конец передачи . В системе UNIX Ctrl-D, имеющий тот же код, означает конец файла при вводе с клавиатуры.
  6. ENQ, 05 — Enquire. Прошу подтверждения.
  7. ACK, 06 — Acknowledgement. Подтверждаю.
  8. BEL, 07 — Bell, звонок. Сейчас тоже используется.
  9. BS, 08 — Backspace, возврат на один символ. Сейчас стирает предыдущий символ.
  10. TAB, 09 — Tabulation. Обозначался также HT — Horizontal Tabulation, горизонтальная табуляция. Во многих языках программирования обозначается \t .
  11. LF , 0A — Line Feed, перевод строки . Сейчас в конце каждой строчки текстового файла ставится или этот символ, или символы CR и LF, в зависимости от операционной системы. Во многих языках программирования обозначается \n и при выводе текста приводит к переводу строки.
  12. VT, 0B — Vertical Tab, вертикальная табуляция.
  13. FF, 0C — Form Feed, новая страница.
  14. CR , 0D — Carriage Return, возврат каретки . Во многих языках программирования этот символ, обозначаемый \r, можно использовать для возврата в начало строчки без перевода строки. В некоторых операционных системах этот же символ, обозначаемый Ctrl-M, ставится в конце каждой строчки текстового файла перед LF.
  15. SO, 0E — Shift Out, измени цвет ленты (использовался для двуцветных лент; цвет менялся обычно на красный). В дальнейшем обозначал начало использования национальной кодировки.
  16. SI , 0F — Shift In, обратно к Shift Out.
  17. DLE, 10 — Data Link Escape, следующие символы имеют специальный смысл.
  18. DC1, 11 — Device Control 1, 1-й символ управления устройством — включить устройство чтения перфоленты.
  19. DC2, 12 — Device Control 2, 2-й символ управления устройством — включить перфоратор.
  20. DC3, 13 — Device Control 3, 3-й символ управления устройством — выключить устройство чтения перфоленты.
  21. DC4, 14 — Device Control 4, 4-й символ управления устройством — выключить перфоратор.
  22. NAK , 15 — Negative Acknowledgment, не подтверждаю . Обратно к Acknowledgment.
  23. SYN, 16 — Synchronization. Этот символ передавался, когда для синхронизации было необходимо что-нибудь передать.
  24. ETB , 17 — End of Text Block, конец текстового блока . Иногда текст по техническим причинам разбивался на блоки.
  25. CAN, 18 — Cancel, отмена (того, что было передано ранее).
  26. EM, 19 — End of Medium, кончилась перфолента и т. д.
  27. SUB, 1A — Substitute, подставить. Следующий символ — другого цвета или из дополнительного набора символов. Сейчас Ctrl-Z используется как конец файла при вводе с клавиатуры в системах DOS и Windows. У этой функции нет никакой очевидной связи с символом SUB.
  28. ESC, 1B — Escape. Следующие символы — что-то специальное.
  29. FS , 1C — File Separator, разделитель файлов .
  30. GS, 1D — Group Separator, разделитель групп.
  31. RS, 1E — Record Separator, разделитель записей.
  32. US, 1F — Unit Separator, разделитель юнитов. То есть поддерживалось 4 уровня структуризации данных: сообщение могло состоять из файлов, файлы из групп, группы из записей, записи из юнитов.
  33. DEL, 7F — Delete, стереть (последний символ). На перфолентах 1 представлялась дырочкой, 0 — отсутствием дырочки. Поэтому символом DEL, состоящим в двоичном коде из всех единиц, можно было забить любой символ. Устройства и программы игнорировали DEL так же, как NUL.

Дополнительную информацию по управляющим символам ASCII вы можете посмотреть здесь.

Нужен оригинальный шрифт?
Нет проблем - fontproblem@yandex.ru
Hosted by uCoz