Что можно сказать о таблице символов ascii

Как известно, компьютер хранит информацию в двоичном виде, представляя её в качестве последовательности единиц и нулей. Чтобы перевести информацию в форму, удобную для человеческого восприятия, каждая уникальная последовательность цифр при отображении заменяется на соответствующий ей символ.

Одной из систем соотнесения бинарных кодов с печатными и управляющими символами является кодировка ASCII.

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

Создание ASCII

В первоначальном виде кодировка была разработана в 1963 году и затем в течение 25 лет дважды обновлялась.

В исходном варианте таблица символов ASCII включала 128 символов, позже появилась расширенная версия, где первые 128 знаков были сохранены, а кодам с задействованным восьмым битом поставлены в соответствие отсутствовавшие ранее символы.

Компьютерное представление ASCII

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

Максимальным двоичным кодом в исходной версии ASCII является нуль + семь единиц, а в расширенной версии – восемь единиц, поскольку подключается восьмой бит.

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

Управляющими символами называются знаки, не имеющие графического представления и использующиеся для организации текста, управления устройствами и т. д. Они могут обозначать начало или конец текста, табуляцию, генерацию звукового сигнала, различные операции для работы по телетайпу (телетайп – машина для передачи данных по электрическом каналу), разрешение вывода данных на устройстве, отмену действия и др.

В таблице символов ASCII позиции с 0 по 31, а также 127 выделены под управляющие знаки. Всего таких знаков 33.

Остальные символы

Оставшиеся 95 позиций отведены под знаки препинания и знаки математических операций, десятичные цифры, буквы латинского алфавита, различающиеся регистром: «А» прописной и «а» строчной соответствуют различные коды в таблице символов ASCII.

Номера символов в таблице

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

Как упоминалось выше, позиции 0-31 и 127 занимают управляющие символы. Номер 32 закреплен за пробелом, номера 33-47 и 58-64 отведены под знаки препинания и основные математические операции.

Латинские прописные буквы расположены по алфавиту и имеют номера с 65-го по 90-й. Строчные буквы также расположены по алфавиту, их позиции – с 97-й по 122-ю. Оставшиеся номера (91-96 и 123-126) закреплены за квадратными и фигурными скобками, косой и прямой чертой, а также некоторыми диакритическими знаками.

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

Расширенная ASCII

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

Для формирования расширенной кодировки был задействован 8-й бит. Данная версия включает в себя символы национальных европейских алфавитов и фонетической транскрипции, элементы графики, использовавшиеся для рисования таблиц, ряд математических знаков.

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

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

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

Два кода в таблице были отведены под переключение между стандартной US-ASCII и её национальным вариантом.

После того как ASCII стала включать не 128, а 256 знаков, распространение получил вариант кодировки, при котором исходная версия таблицы была сохранена в первых 128 кодах с нулевым 8-м битом. Знаки национальной письменности хранились в верхней половине таблицы (128-255-я позиции).

Знать непосредственно коды символов ASCII пользователю не требуется. Разработчику программного обеспечения обычно достаточно знать номер элемента в таблице, чтобы при необходимости рассчитать его код, используя бинарную систему.

Читайте также:  Узо легранд 25а 30ма схема подключения

Русский язык

После разработки в начале 70-х годов кодировок для скандинавских языков, китайского, корейского, греческого и др., созданием собственного варианта занялся и Советский Союз. Вскоре был разработан вариант 8-битной кодировки под названием КОИ8, сохраняющей первые 128 кодов символов ASCII и выделяющей столько же позиций под буквы национального алфавита и дополнительные знаки.

До внедрения Юникода КОИ8 доминировала в российском сегменте интернета. Существовали варианты кодировки как для русского, так и для украинского алфавита.

Проблемы ASCII

Поскольку количество элементов даже в расширенной таблице не превышало 256, возможность вмещения в одну кодировку нескольких различных письменностей отсутствовала. В 90-е годы в Рунете появилась проблема «крокозябр», когда тексты, набранные русскими символами ASCII, отображались некорректно.

Проблема заключалась в несоответствии кодов различных вариантов ASCII друг другу. Вспомним, что на позициях 128-255 могли располагаться различные знаки, и при смене одной кириллической кодировки на другую все буквы текста заменялись на другие, имеющие идентичный номер в другой версии кодировки.

Текущее состояние

С появлением Юникода популярность ASCII резко пошла на убыль.

Причина этого кроется в том факте, что новая кодировка позволила вместить знаки почти всех письменных языков. При этом первые 128 символов ASCII соответствуют тем же символам в Юникоде.

Таким образом, ASCII является важной частью истории информационных технологий, однако её использование в дальнейшем видится малоперспективным.

Символ 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, горизонтальная табуляция. Во многих языках программирования обозначается .
  • LF, 0A — Line Feed, перевод строки. Сейчас в конце каждой строчки текстового файла ставится либо этот символ, либо CR, либо и тот и другой (CR, затем LF), в зависимости от операционной системы. Во многих языках программирования обозначается
    и при выводе текста приводит к переводу строки.
  • VT, 0B — Vertical Tab, вертикальная табуляция.
  • FF, 0C — Form Feed, прогон страницы, новая страница.
  • CR, 0D — Carriage Return, возврат каретки. Во многих языках программирования этот символ, обозначаемый
    , можно использовать для возврата в начало строчки без перевода строки. В некоторых операционных системах этот же символ, обозначаемый 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. Следующие за ним символы имеют какое-то другое значение, отличное от того, которое определено в ASCII. Обычно начинал управляющие последовательности.
  • FS, 1C — File Separator, разделитель файлов.
  • GS, 1D — Group Separator, разделитель групп.
  • RS, 1E — Record Separator, разделитель записей.
  • US, 1F — Unit Separator, разделитель юнитов. То есть поддерживалось 4 уровня структуризации данных: сообщение могло состоять из файлов, файлы из групп, группы из записей, записи из юнитов.
  • DEL, 7F — Delete, стереть последний символ. Символом DEL, состоящим в двоичном коде из всех единиц, можно было забить любой символ. Устройства и программы игнорировали DEL так же, как NUL. Код этого символа происходит из первых текстовых процессоров с памятью на перфоленте: в них удаление символа происходило забиванием его кода дырочками (обозначавшими логические единицы).
Читайте также:  Средства управления файловой системой fat

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

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

Представление ASCII в ЭВМ

На подавляющем большинстве современных компьютеров минимально адресуемая единица памяти — 8-битный байт, поэтому там используются 8-битные, а не 7-битные символы. Обычно символ ASCII расширяют до 8 бит, просто добавляя один нулевой бит в качестве старшего.

На компьютерах системы IBM/360, однако, в случае использования ASCII применялся другой метод: 6-й бит (если считать самый младший бит первым) перемещается в 7-й, а бывший 7-й «раздваивается» и копируется и в 8-й бит, и в 6-й. Получается такая таблица [1] :

. .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. DC DC1 DC2 DC3 DC4 ERR SYNC LEM S S1 S2 S3 S4 S5 S6 S7
2.
3.
4. BLANK ! " # $ % & ( ) * + , . /
5. 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-коды используются также для определения нажатой клавиши при программировании. Для стандартной QWERTY-клавиатуры таблица кодов выглядит следующим образом:

Часто бывает, в практике создания веб приложений, и при создании дизайна необходимо вставить какой-то спецсимвол, например копирайт, авторское право, стрелочку и т.д. Для этого используют ascii кодамы, которые, вставляют в контекст кода HTML. При выводе они отображаются как нормальные символы. В данной статье, ознакомимся с кодами символов ascii и научимся их применять при разработке сайтов.

Что мы сегодня узнаем?

Что такое ASCII коды?

Как всегда сразу по понятиям. Если вы понимаете, что такое ascii коды, отлично, можете посмотреть таблицы ascii кодов. Кому интересно узнать что такое ascii коды, выслушаем же мнение Википедии.

ASCII (англ. American Standard Code for Information Interchange) — американский стандартный код для обмена информацией. ASCII представляет собой кодировку для представления десятичных цифр, латинского и национального алфавитов, знаков препинания и управляющих символов.

Таблицы ASCII кодов

Ниже предоставленные таблицы ascii кодов символов. Если вы не совсем понимаете, как их использовать, наберитесь терпения и прочтите последний пункт статьи.

Читайте также:  Яндекс толока вывод денег отзывы

Таблица ascii кодов: ASCII (American Standard Code for Information Interchange)

Dec Hex Char Dec Hex Char Dec Hex Char Dec Hex Char
NUL 32 20 (sp) 64 40 @ 96 60 `
1 1 SOH 33 21 ! 65 41 A 97 61 a
2 2 STX 34 22 " 66 42 B 98 62 b
3 3 ETX 35 23 # 67 43 C 99 63 c
4 4 EOT 36 24 $ 68 44 D 100 64 d
5 5 ENQ 37 25 % 69 45 E 101 65 e
6 6 ACK 38 26 & 70 46 F 102 66 f
7 7 BEL 39 27 71 47 G 103 67 g
8 8 BS 40 28 ( 72 48 H 104 68 h
9 9 TAB 41 29 ) 73 49 I 105 69 i
10 A LF 42 2A * 74 4A J 106 6A j
11 B VT 43 2B + 75 4B K 107 6B k
12 C FF 44 2C , 76 4C L 108 6C l
13 D CR 45 2D 77 4D M 109 6D m
14 E SO 46 2E . 78 4E N 110 6E n
15 F SI 47 2F / 79 4F O 111 6F o
16 10 DLE 48 30 80 50 P 112 70 p
17 11 DC1 49 31 1 81 51 Q 113 71 q
18 12 DC2 50 32 2 82 52 R 114 72 r
19 13 DC3 51 33 3 83 53 S 115 73 s
20 14 DC4 52 34 4 84 54 T 116 74 t
21 15 NAK 53 35 5 85 55 U 117 75 u
22 16 SYN 54 36 6 86 56 V 118 76 v
23 17 ETB 55 37 7 87 57 W 119 77 w
24 18 CAN 56 38 8 88 58 X 120 78 x
25 19 EM 57 39 9 89 59 Y 121 79 y
26 1A SUB 58 3A : 90 5A Z 122 7A z
27 1B ESC 59 3B ; 91 5B [ 123 7B <
28 1C FS 60 3C 94 5E ^ 126 7E
31 1F US 63 3F ? 95 5F _ 127 7F DEL

Расширенная таблица кодов ASCII

Dec Hex Char Dec Hex Char Dec Hex Char Dec Hex Char
128 80 Ç 160 A0 á 192 C0 . 224 E0 α
129 81 ü 161 A1 í 193 C1 2 225 E1 ß
130 82 é 162 A2 ó 194 C2 226 E2 Γ
131 83 â 163 A3 ú 195 C3 / 227 E3
132 84 ä 164 A4 ñ 196 C4 ) 228 E4
133 85 à 165 A5 Ñ 197 C5 3 229 E5 σ
134 86 å 166 A6 ª 198 C6 G 230 E6 μ
135 87 ç 167 A7 ° 199 C7 K 231 E7 τ
136 88 ê 168 A8 ¿ 200 C8 9 232 E8 Φ
137 89 ë 169 A9 _ 201 C9 6 233 E9 Θ
138 8A è 170 AA ¬ 202 CA = 234 EA Ω
139 8B ï 171 AB ½ 203 CB ; 235 EB δ
140 8C î 172 AC ¼ 204 CC : 236 EC
141 8D ì 173 AD ¡ 205 CD 4 237 ED φ
142 8E Ä 174 AE « 206 CE > 238 EE ε
143 8F Å 175 AF » 207 CF N 239 EF
144 90 É 176 B0 208 D0 J 240 F0
145 91 æ 177 B1 209 D1 L 241 F1 ±
146 92 Æ 178 B2 210 D2 H 242 F2
147 93 ô 179 B3 * 211 D3 F 243 F3
148 94 ö 180 B4 1 212 D4 B 244 F4
149 95 ò 181 B5 I 213 D5 ? 245 F5
150 96 û 182 B6 1 214 D6 C 246 F6 ÷
151 97 ù 183 B7 D 215 D7 O 247 F7
152 98 _ 184 B8 @ 216 D8 P 248 F8
153 99 Ö 185 B9 на . Таким же образом, можно вывести любой другой символ.

Другой случай, когда нужно реализовать подсветку кода (php, js, css, html…), пользовался регулярными выражениями в javascript, и получилось что звездочка (Asterisk), мешала работе js функции. Заменил ее ascii кодом и все стало работать как швейцарские часы.

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

Как видите ascii кода пригодятся как программистам так и верстальщикам . Если у вас остались замечания или вопросы по поводу, ascii кодов, пишите в комментариях ниже.

Оцените статью
Добавить комментарий

Adblock
detector