ASCII
Виды кодировок символов — набор символов (character set, charset) и синонимы: кодовая страница, кодировка (encoding). Например Unicode, Windows-1251(CP1251), ASCII .
Punycode DNS — стандартизированный метод преобразования последовательностей Unicode- символов в ACE- последовательности
ASCII (American Standard Code for Information Interchange — американский стандартный код для обмена информацией; по-американски произносится [э́ски], тогда как в Великобритании чаще произносится [а́ски]; по-русски произносится также [а́ски] или [аски́]).
ASCII представляет собой кодировку для представления десятичных цифр, латинского и национального алфавитов, знаков препинания и управляющих символов. Изначально разработанная как 7-битная, с широким распространением 8-битного байта ASCII стала восприниматься как половина 8-битной. В компьютерах обычно используют расширения ASCII с задействованной второй половиной байта. Обычно символ ASCII расширяют до 8 бит, просто добавляя один нулевой бит в качестве старшего.
NUL должен быть символом, где все биты установлены в 0.
Коды десятичных цифр 0—9 должны идти в возрастающем порядке, причём коды двух соседних цифр должны отличаться на единицу.
US- ASCII это ASCII без национальных символов.
Удобнее использовать 8-битные кодировки (кодовые страницы), где нижнюю половину кодовой таблицы (0—127) занимают символы US- ASCII , а верхнюю (128—255) — дополнительные символы, включая набор национальных символов. В Юникоде (utf-8) первые 128 символов тоже совпадают с соответствующими символами US- ASCII .
ASCII С++
Программа С++ отображает символы и их соответствующие символы из таблицы ASCII .
#include #include /*Программа отображает символы и их соответствующие символы из таблицы ASCII.*/ int main()
Важность кодировки ASCII , включающей латинский алфавит, цифры и основные знаки пунктуации, необычайно велика: почти все остальные (большие по размеру) кодировки совместимы с ней, т. е. размещают на своих первых 128 знакоместах те же самые символы в том же порядке.
Первые 32 позиции в кодировке ASCII заняты так называемыми управляющими символами (control characters), предназначенными не для передачи собственно текстовой информации, а для управления устройством, читающий (или получающим по линии связи) текстовый файл. Лишь немногие из этих символов — возврат каретки, перевод строки, табуляция — до сих пор используются в более-менее общепринятых значениях; остальные, давно уже вышедшие из употребления, в былые времена выполняли для «голого» ASCII -текста те же функции, которые сейчас возложены на разнообразные форматы данных и протоколы связи.
Задействовав в кодировке ASCII старший бит, мы получаем дополнительные 128 знакомест, которых должно хватить для кодирования, например, кириллического алфавита или набора каких-нибудь специальных символов. К сожалению, восьмибитных кодировок на свете существует гораздо больше, чем наборов символов, которые они кодируют. Очень характерна в этой связи ситуация с русским языком — анархия компьютеризации в нашей стране, наложившаяся на всемирную анархию конкурирующих компьютерных платформ и операционных систем, привела к тому, что для кириллицы существует сразу несколько однобайтовых кодовых таблиц.
Ascii что это
ascii(7) набор символов ASCII, представленный восьмеричным, десятичным и
ОПИСАНИЕ
ASCII — американский стандартный код для обмена информацией. Это 7-битная кодировка. Многие 8-битные коды (например, ISO 8859-1) содержат ASCII в своих нижних половинах таблиц. Международный аналог ASCII также известен как ISO 646.IRV. В следующей таблице содержатся 128 символов ASCII. В программах на C используют экранированные версии ('\X').
Вос | Дес | Шес | Симв | Вос | Дес | Шес | Симв |
000 | 0 | 00 | NUL ‘\0’ (символ null) | 100 | 64 | 40 | @ |
001 | 1 | 01 | SOH (начало заголовка) | 101 | 65 | 41 | A |
002 | 2 | 02 | STX (начало текста) | 102 | 66 | 42 | B |
003 | 3 | 03 | ETX (конец текста) | 103 | 67 | 43 | C |
004 | 4 | 04 | EOT (конец передачи) | 104 | 68 | 44 | D |
005 | 5 | 05 | ENQ (запрос подтв.) | 105 | 69 | 45 | E |
006 | 6 | 06 | ACK (подтверждение) | 106 | 70 | 46 | F |
007 | 7 | 07 | BEL ‘\a’ (звонок) | 107 | 71 | 47 | G |
010 | 8 | 08 | BS ‘\b’ (забой) | 110 | 72 | 48 | H |
011 | 9 | 09 | HT ‘\t’ (горизон. таб.) | 111 | 73 | 49 | I |
012 | 10 | 0A | LF ‘\n’ (перевод строки) | 112 | 74 | 4A | J |
013 | 11 | 0B | VT ‘\v’ (верт. таб.) | 113 | 75 | 4B | K |
014 | 12 | 0C | FF ‘\f’ (новая страница) | 114 | 76 | 4C | L |
015 | 13 | 0D | CR ‘\r’ (возвр. каретки) | 115 | 77 | 4D | M |
016 | 14 | 0E | SO (смена ленты) | 116 | 78 | 4E | N |
017 | 15 | 0F | SI (обр. смена ленты) | 117 | 79 | 4F | O |
020 | 16 | 10 | DLE (нач. спец. символов) | 120 | 80 | 50 | P |
021 | 17 | 11 | DC1 (1 сим. упр. устр.) | 121 | 81 | 51 | Q |
022 | 18 | 12 | DC2 (2 сим. упр. устр.) | 122 | 82 | 52 | R |
023 | 19 | 13 | DC3 (3 сим. упр. устр.) | 123 | 83 | 53 | S |
024 | 20 | 14 | DC4 (4 сим. упр. устр.) | 124 | 84 | 54 | T |
025 | 21 | 15 | NAK (отказ подтверж.) | 125 | 85 | 55 | U |
026 | 22 | 16 | SYN (синх. ожидание) | 126 | 86 | 56 | V |
027 | 23 | 17 | ETB (конец перед. блока) | 127 | 87 | 57 | W |
030 | 24 | 18 | CAN (отмена) | 130 | 88 | 58 | X |
031 | 25 | 19 | EM (конец носителя) | 131 | 89 | 59 | Y |
032 | 26 | 1A | SUB (подстановка) | 132 | 90 | 5A | Z |
033 | 27 | 1B | ESC (начало спец. символа) | 133 | 91 | 5B | [ |
034 | 28 | 1C | FS (разделитель файлов) | 134 | 92 | 5C | \ ‘\\’ |
035 | 29 | 1D | GS (разделитель групп) | 135 | 93 | 5D | ] |
036 | 30 | 1E | RS (разделитель записей) | 136 | 94 | 5E | ^ |
037 | 31 | 1F | US (раздел. элементов) | 137 | 95 | 5F | _ |
040 | 32 | 20 | ПРОБЕЛ | 140 | 96 | 60 | ` |
041 | 33 | 21 | ! | 141 | 97 | 61 | a |
042 | 34 | 22 | « | 142 | 98 | 62 | b |
043 | 35 | 23 | # | 143 | 99 | 63 | c |
044 | 36 | 24 | $ | 144 | 100 | 64 | d |
045 | 37 | 25 | % | 145 | 101 | 65 | e |
046 | 38 | 26 | & | 146 | 102 | 66 | f |
047 | 39 | 27 | ‘ | 147 | 103 | 67 | g |
050 | 40 | 28 | ( | 150 | 104 | 68 | h |
051 | 41 | 29 | ) | 151 | 105 | 69 | i |
052 | 42 | 2A | * | 152 | 106 | 6A | j |
053 | 43 | 2B | + | 153 | 107 | 6B | k |
054 | 44 | 2C | , | 154 | 108 | 6C | l |
055 | 45 | 2D | — | 155 | 109 | 6D | m |
056 | 46 | 2E | . | 156 | 110 | 6E | n |
057 | 47 | 2F | / | 157 | 111 | 6F | o |
060 | 48 | 30 | 0 | 160 | 112 | 70 | p |
061 | 49 | 31 | 1 | 161 | 113 | 71 | q |
062 | 50 | 32 | 2 | 162 | 114 | 72 | r |
063 | 51 | 33 | 3 | 163 | 115 | 73 | s |
064 | 52 | 34 | 4 | 164 | 116 | 74 | t |
065 | 53 | 35 | 5 | 165 | 117 | 75 | u |
066 | 54 | 36 | 6 | 166 | 118 | 76 | v |
067 | 55 | 37 | 7 | 167 | 119 | 77 | w |
070 | 56 | 38 | 8 | 170 | 120 | 78 | x |
071 | 57 | 39 | 9 | 171 | 121 | 79 | y |
072 | 58 | 3A | : | 172 | 122 | 7A | z |
073 | 59 | 3B | ; | 173 | 123 | 7B | |
074 | 60 | 3C | 174 | 124 | 7C | | | |
075 | 61 | 3D | = | 175 | 125 | 7D | > |
076 | 62 | 3E | > | 176 | 126 | 7E | ~ |
077 | 63 | 3F | ? | 177 | 127 | 7F | DEL |
Таблицы
Для удобства далее представлены компактные таблицы шестнадцатеричных и десятичных кодов.
2 3 4 5 6 7 30 40 50 60 70 80 90 100 110 120 ------------- --------------------------------- 0: 0 @ P ` p 0: ( 2 < F P Z d n x 1: ! 1 A Q a q 1: ) 3 = G Q [ e o y 2: " 2 B R b r 2: * 4 >H R \ f p z 3: # 3 C S c s 3: ! + 5 ? I S ] g q < 4: $ 4 D T d t 4: " , 6 @ J T ^ h r | 5: % 5 E U e u 5: # - 7 A K U _ i s >6: & 6 F V f v 6: $ . 8 B L V ` j t ~ 7: ' 7 G W g w 7: % / 9 C M W a k u DEL 8: ( 8 H X h x 8: & 0 : D N X b l v 9: ) 9 I Y i y 9: ' 1 ; E O Y c m w A: * : J Z j z B: + ; K [ k < C: , < L \ l | D: - = M ] m >E: . > N ^ n ~ F: / ? O _ o DEL
ЗАМЕЧАНИЯ
История
Справочная таблица ascii впервые появилась в AT&T UNIX Version 7. На старых терминалах символ подчёркивания отображается как стрелка влево (т.н. стрелка назад), каретка отображается как стрелка вверх и вертикальная черта имеет пустоту в середине. Строчные и прописные символы отличаются только одним битом и ASCII символ 2 отличается от двойной кавычки тоже одним битом. Это сделано для облегчения механического кодирования символов или для использования клавиатур без микроконтроллеров, и такое pairing использовался на старых телетайпах. Стандарт ASCII опубликован американским национальным институтом стандартов (USASI) в 1968 году.
ASCII
ASCII (англ. American Standard Code for Information Interchange ) — американская стандартная кодировочная таблица для печатных символов и некоторых специальных кодов. В американском варианте английского языка произносится [э́ски], тогда как в Великобритании чаще произносится [а́ски]; по-русски произносится также [а́ски] или [аски́].
ASCII представляет собой кодировку для представления десятичных цифр, латинского и национального алфавитов, знаков препинания и управляющих символов. Изначально разработанная как 7-битная, с широким распространением 8-битного байта ASCII стала восприниматься как половина 8-битной. В компьютерах обычно используют расширения ASCII с задействованным 8-м битом и второй половиной кодовой таблицы (например КОИ-8).
Наложение символов
Благодаря символу BS (возврат на шаг) на принтере можно печатать один символ поверх другого. В ASCII было предусмотрено добавление таким образом диакритики к буквам, например:
- a BS ‘ → á
- a BS ` → à
- a BS ^ → â
- o BS / → ø
- c BS , → ç
- n BS ~ → ñ
Примечание: в старых шрифтах апостроф ‘ рисовался с наклоном влево, а тильда ~ была сдвинута вверх, так что они как раз подходили на роль акута и тильды сверху.
Если на символ накладывается тот же символ, то получается эффект жирного шрифта, а если на символ накладывается подчёркивание, то получается подчёркнутый текст.
Примечание: это используется, например, в справочной системе 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) — дополнительные символы, включая набор национальных символов. Таким образом, верхняя половина таблицы ASCII до повсеместного внедрения Юникода активно использовалась для представления локализированных символов, букв местного языка. Отсутствие единого стандарта размещения кириллических символов в таблице ASCII доставляло множество проблем с кодировками (КОИ-8, Windows-1251 и другие). Другие языки с нелатинской письменностью тоже страдали из-за наличия нескольких разных кодировок.
В Юникоде первые 128 символов тоже совпадают с соответствующими символами US-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 |
Символ 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. Следующие за ним символы имеют какое-то другое значение, отличное от того, которое определено в ASCII. Обычно начинал управляющие последовательности.
- 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 к каждому двоично-десятичному полубайту.
- Буквы A-Z верхнего и нижнего регистров различаются в своём представлении только одним битом, что упрощает преобразование регистра и проверку на диапазон. Буквы представляются своими порядковыми номерами в алфавите, записанными в двоичной системе счисления, перед которыми стоит 1002 (для букв верхнего регистра) или 1102 (для букв нижнего регистра).
Представление ASCII в ЭВМ
На подавляющем большинстве современных компьютеров минимально адресуемая единица памяти — 8-битный байт, поэтому там используются 8-битные, а не 7-битные символы. Обычно символ ASCII расширяют до 8 бит, просто добавляя один нулевой бит в качестве старшего.
На компьютерах системы IBM/360, однако, в случае использования ASCII применялся другой метод: 6-й бит (если считать самый младший бит первым) перемещается в 7-й, а бывший 7-й «раздваивается» и копируется и в 8-й бит, и в 6-й. Получается такая таблица [1] :
.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-коды используются также для определения нажатой клавиши при программировании. Для стандартной QWERTY-клавиатуры таблица кодов выглядит следующим образом:
ASCII
ASCII — это таблица кодировки символов, в которой каждой букве, числу или знаку соответствует определенное число. В стандартной таблице ASCII 128 символов, пронумерованных от 0 до 127. В них входят латинские буквы, цифры, знаки препинания и управляющие символы.
«IT-специалист с нуля» наш лучший курс для старта в IT
Что такое ASCII
Таблицу разработали в Америке в 60-х, и ее название расшифровывается как American Standard Code for Information Interchange — Американская стандартная кодировка для обмена информацией. Аббревиатура читается как «аски».
Существуют национальные расширения ASCII, которые кодируют буквы и символы, принятые в других алфавитах. «Стандартная» таблица называется US-ASCII, или международной версией. В большинстве национальных расширений заменена только часть символов, например знак доллара на знак фунта. Но для языков, где используются нелатинские алфавиты, заменяется большинство символов. Русский относится к таким языкам.
Профессия / 16 месяцев
Тестировщик-автоматизатор
Лучший выбор для быстрого старта в IT
Для чего нужна таблица ASCII
Цифровое устройство по умолчанию не понимает символы — только числа. Поэтому буквы, цифры и знаки приходится кодировать, чтобы задавать компьютеру соответствие между определенным начертанием и числовым значением. Сейчас вариантов кодирования несколько, и ASCII — одна из наиболее ранних кодировок. Она задала стандарты для последующих решений.
Когда появилась эта кодировка, компьютеров в современном представлении еще не существовало. Ее разработали для телетайпов — устройств обмена информацией, похожих на телеграфы с печатной машинкой. Сейчас ими практически не пользуются, но некоторые стандарты остались с тех времен. В том числе набор ASCII, который теперь применяется для кодирования информации в компьютерах.
Сейчас с помощью ASCII кодируются данные в компьютерных устройствах, на ней основано несколько других кодировок, кроме того, ее используют в творчестве — создают с помощью символов картинки. Это называется ASCII art.
Читайте также Кто такой frontend-разработчик?
Применение на практике
- При разработке сайта или приложения разработчику может понадобиться пользоваться ASCII, чтобы закодировать символы, не входящие в национальную кодировку.
- Можно сохранить документ или иной файл в формате ASCII — тогда все символы в нем будут закодированы этим набором. Такое может понадобиться, если человеку нужно передать информацию, которая будет читаться везде, — но некоторые функции форматирования в таком режиме будут недоступны.
- Можно ввести код ASCII с клавиатуры напрямую: при зажатом Alt набрать числовое значение, которое соответствует тому или иному символу из таблицы. Так можно печатать и символы, которые есть в расширенных версиях набора: смайлики, иероглифы, буквы алфавитов других стран и так далее. Код для таких символов может быть намного длиннее, чем для стандартных 128 букв и цифр.
Станьте Frontend-разработчиком
и создавайте интерфейсы сервисов, которыми пользуются все
Как устроена ASCII внутри
С помощью ASCII вводят, выводят и передают информацию, поэтому она должна описывать самые часто используемые символы и управляющие элементы (перенос, шаг назад и так далее). Таблица восьмибитная, а числа, которые соответствуют символам, переводятся в двоичный код, чтобы компьютер мог их распознавать. Десятичное же написание удобнее для людей. Еще используют шестнадцатеричное — с его помощью легче представить набор в виде таблицы.
Заглавные и строчные буквы в ASCII — это разные элементы. Причем в таблице строчные буквы расположены под заглавными, в том же столбце, но в разных строчках. Так набор оказывается нагляднее, а информацию легче проверять и работать с ней, например редактировать регистр с помощью автоматических команд.
Как расположены символы в ASCII
- Первые две строчки таблицы — управляющие символы: Backspace, перевод строки, начало и конец абзаца и прочие.
- В третьей строке расположены знаки препинания и специальные символы, такие как процент % или астериск * .
- Четвертая строка — числа и математические символы, а также двоеточие, точка с запятой и вопросительный знак.
- Пятая и шестая строчка — заглавные буквы, а также некоторые другие особые символы.
- Седьмая и восьмая строки описывают строчные буквы и еще несколько символов.
Отличия от Unicode
Когда мы говорим о кодировании, сразу вспоминается система международной кодировки символов Unicode. Важно не путать ее с ASCII — эти понятия не идентичны.
ASCII появилась раньше и включает в себя меньше символов. В стандартной таблице их всего 128, если не считать расширений для других языков. А в «Юникоде», который реализуют кодировки UTF-8 и UTF-32, сейчас 2²¹ символов — это больше чем два миллиона. В набор входят практически все существующие сегодня символы, он очень широкий.
Unicode можно рассматривать как «продолжение», расширение ASCII. Первые 128 символов в «Юникоде» кодируются так же, как в ASCII, и это те же самые символы.
Fullstack-разработчик на Python
Fullstack-разработчики могут в одиночку сделать IT-проект от архитектуры до интерфейса. Их навыки востребованы у работодателей, особенно в стартапах. Научитесь программировать на Python и JavaScript и создавайте сервисы с нуля.
Так выглядит таблица ASCII (American Standard Code for Information Interchange) с символами от 0 до 127:
DEC HEX CHAR ------------- 0 00 NUL (Null) 1 01 SOH (Start of Heading) 2 02 STX (Start of Text) 3 03 ETX (End of Text) 4 04 EOT (End of Transmission) 5 05 ENQ (Enquiry) 6 06 ACK (Acknowledgment) 7 07 BEL (Bell) 8 08 BS (Backspace) 9 09 TAB (Horizontal Tab) 10 0A LF (Line Feed) 11 0B VT (Vertical Tab) 12 0C FF (Form Feed) 13 0D CR (Carriage Return) 14 0E SO (Shift Out) 15 0F SI (Shift In) 16 10 DLE (Data Link Escape) 17 11 DC1 (Device Control 1) 18 12 DC2 (Device Control 2) 19 13 DC3 (Device Control 3) 20 14 DC4 (Device Control 4) 21 15 NAK (Negative Acknowledgement) 22 16 SYN (Synchronous Idle) 23 17 ETB (End of Transmission Block) 24 18 CAN (Cancel) 25 19 EM (End of Medium) 26 1A SUB (Substitute) 27 1B ESC (Escape) 28 1C FS (File Separator) 29 1D GS (Group Separator) 30 1E RS (Record Separator) 31 1F US (Unit Separator) 32 20 SPACE (Space) 33 21 ! (Exclamation Mark) 34 22 " (Double Quote) 35 23 # (Number Sign) 36 24 $ (Dollar Sign) 37 25 % (Percent Sign) 38 26 & (Ampersand) 39 27 ' (Single Quote) 40 28 ( (Left Parenthesis) 41 29 ) (Right Parenthesis) 42 2A * (Asterisk) 43 2B + (Plus Sign) 44 2C , (Comma) 45 2D - (Hyphen-Minus) 46 2E . (Period) 47 2F / (Slash) 48 30 0 (Digit Zero) 49 31 1 (Digit One) 50 32 2 (Digit Two) 51 33 3 (Digit Three) 52 34 4 (Digit Four) 53 35 5 (Digit Five) 54 36 6 (Digit Six) 55 37 7 (Digit Seven) 56 38 8 (Digit Eight) 57 39 9 (Digit Nine) 58 3A : (Colon) 59 3B ; (Semicolon) 60 3C < (Less-Than Sign) 61 3D = (Equal Sign) 62 3E >(Greater-Than Sign) 63 3F ? (Question Mark) 64 40 @ (Commercial At) 65 41 A 66 42 B 67 43 C 68 44 D 69 45 E 70 46 F 71 47 G 72 48 H 73 49 I 74 4A J 75 4B K 76 4C L 77 4D M 78 4E N 79 4F O 80 50 P 81 51 Q 82 52 R 83 53 S 84 54 T 85 55 U 86 56 V 87 57 W 88 58 X 89 59 Y 90 5A Z 91 5B [ (Left Square Bracket) 92 5C \ (Backslash) 93 5D ] (Right Square Bracket) 94 5E ^ (Caret / Circumflex) 95 5F _ (Underscore) 96 60 ` (Grave Accent) 97 61 a 98 62 b 99 63 c 100 64 d 101 65 e 102 66 f 103 67 g 104 68 h 105 69 i 106 6A j 107 6B k 108 6C l 109 6D m 110 6E n 111 6F o 112 70 p 113 71 q 114 72 r 115 73 s 116 74 t 117 75 u 118 76 v 119 77 w 120 78 x 121 79 y 122 7A z 123 7B < (Left Curly Brace) 124 7C | (Vertical Bar) 125 7D >(Right Curly Brace) 126 7E ~ (Tilde) 127 7F DEL (Delete)
Пожалуйста, обратите внимание, что таблица содержит только основные управляющие символы, цифры, латинские буквы (строчные и заглавные), а также некоторые специальные символы. В более расширенной таблице ASCII (расширенная ASCII) есть символы с кодами от 128 до 255, но они могут варьироваться в зависимости от кодировки (например, UTF-8 или ISO-8859-1).
Статьи по теме:
- Идеальный костюм для вечеринки: AI советует, каким героем из «Мстителей» нарядиться на Хэллоуин
- Регулярные выражения в Python: инструкция, примеры и практика