Структурные свойства таблицы




ASCII

Материал из Википедии — свободной энциклопедии

https://ru.wikipedia.org/wiki/ASCII

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

Содержание  
  • 1 Наложение символов
  • 2 Национальные варианты ASCII
  • 3 Кодировка
  • 4 Управляющие символы
  • 5 Структурные свойства таблицы
  • 6 Представление ASCII в компьютерах
  • 7 Примечание
  • 8 См. также
  • 9 Ссылки

Наложение символов

Благодаря символу BS (возврат на шаг) на принтере можно печатать один символ поверх другого. В ASCII было предусмотрено добавление таким образом диакритики к буквам, например:

  • a BS ' → á
  • a BS ` → à
  • a BS ^ → â
  • o BS / → ø
  • c BS, → ç
  • n BS ~ → ñ

(в старых шрифтах апостроф ' рисовался с наклоном вправо, а тильда ~ была сдвинута вверх, так что они как раз подходили на роль акута и тильды сверху).

Если на символ накладывается тот же символ, то получается эффект жирного шрифта, а если на символ накладывается подчёркивание, то получается подчёркнутый текст.

  • a BS a → a
  • a BS _ → a

(это используется, например, в справочной системе man).

Национальные варианты ASCII

Стандарт ISO 646 (ECMA-6) предусматривает возможность размещения национальных символов на месте @ [ \ ] ^ ` { | } ~. В дополнение к этому, на месте # может быть размещён £, а на месте $¤. Такая система хорошо подходит для европейских языков, где нужны лишь несколько дополнительных символов. Вариант ASCII без национальных символов называется US-ASCII, или «International Reference Version».

Для некоторых языков с нелатинской письменностью (русского, греческого, арабского, иврита) существовали более радикальные модификации ASCII. Одним из вариантов был отказ от строчных латинских букв — на их месте размещались национальные символы (для русского и греческого — только заглавные буквы). Другой вариант — переключение между US-ASCII и национальным вариантом «на лету» с помощью символов SO (Shift Out) и SI (Shift In) — в этом случае в национальном варианте можно полностью устранить латинские буквы и занять всё пространство под свои символы. См. также КОИ-7.

Впоследствии оказалось удобнее использовать 8-битные кодировки (кодовые страницы), где нижнюю половину кодовой таблицы (0—127) занимают символы US-ASCII, а верхнюю (128—255) — разные другие нужные символы. В Юникоде первые 128 символов тоже совпадают с соответствующими символами US-ASCII.

Верхняя половина таблицы в настоящее время активно используется для представления кириллических символов и её вариации (КОИ-8, Windows-1251 и другие) доставляют основные проблемы с кодировками.

Кодировка

  .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.                     : ; < = > ?
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

Символ 0x5e в первой версии стандарта ASCII (1963) соответствовал стрелке вверх, а символ 0x5f — стрелке влево. Стандарт ECMA-6 (1965) заменил их на знак вставки (используемый также в роли циркумфлекса) и нижнюю черту (подчёркивание) соответственно.

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

Основная статья: Управляющие символы

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

(После названия каждого символа указан его 16-ричный код)

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

Структурные свойства таблицы

  • Цифры 0—9 представляются своими двоичными значениями (например, 5=01012), перед которыми стоит 00112. Таким образом, двоично-десятичные числа (BCD) превращаются в ASCII-строку с помощью простого добавления слева 00112 к каждому двоично-десятичному полубайту.
  • Буквы верхнего и нижнего регистров различаются в своём представлении только одним битом, что упрощает преобразование регистра и проверку на диапазон.


Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2018-01-30 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: