Таблица кодов ascii
Содержание:
- Стандарт Unicode
- ISO/IEC 8859
- История
- Базовая таблица кодировки ASCII
- Национальные варианты ASCII
- ASCII таблица кодов символов Windows (Win-1251)
- ASCII таблица кодов символов Windows. Описание специальных (управляющих) символов
- Ссылки
- Этимология имен Аск и Эмбла
- Представление ASCII в ЭВМ
- Задания[править]
- Интерпретации и аналогии
- Кодировки на основе Unicode
- [править] Предтечи
- Кодировки стандарта ASCII[править]
Стандарт Unicode
Предыдущая кодировка отлично подходит для английского языка, однако для других языков она не удобная. К примеру в немецком языке есть умляуты, а в французском надстрочные знаки. Некоторые языки имеют совершенно разные алфавиты. Первой попыткой расширения ASCII был IS646, который расширял предыдущую кодировку еще на 128 символов. Добавлены были латинские буквы со штрихами и диакритическими знаками, и получил название — Latin 1. Следующая попытка была IS 8859 — которые содержал кодовую страницу. Были еще попытки расширений, но это все было не универсальным. Была создана кодировка UNICODE (is 10646). Идея кодировка в том, что бы приписать каждому символу единое постоянное 16-битное значение, которое называется — указателем кода. Всего получается 65536 указателей. Для экономии места использовали Latin-1 для кодов 0 -255, легко изменяя ASII в UNICODE. Такой стандарт решил много проблем, однако не все. В связи с поступлением новых слов, к примеру для японского языка нужно увеличивать количество терминов где-то на 20 тыс. Также нужно включить шрифт брайля.
ISO/IEC 8859
Ранние кодировки были ограничены 7 битами из-за особенностей некоторых протоколов передачи данных. Однако со временем эти ограничения свою актуальность потеряли, в то время как необходимость в дополнительных символах для языков, использующих латинский алфавит, только росла. Поэтому в середине 80-х началась работа над группой 8-битных кодировок, получившей название ISO/IEC 8859. Все кодировки этой группы были основаны на ASCII. Помимо расширения диапазона доступных символов за счет восьмого бита, на печатные символы была заменена часть устаревших к тому моменту непечатных управляющих символов.
Здесь стоит отметить две кодировки из группы. Первая — ISO-8859-1 — была опубликована в 1987 году. Она включала в себя так называемый «Латинский алфавит номер 1» (сокращенно Latin-1), состоящий из 191 символа латинского письма. Этот набор символов используется по всей Северной и Южной Америке, в Западной Европе, Океании и на большей части Африки. Кодировка ISO-8859-1 стала основой для наиболее популярных 8-битных кодировок.
В 1988 году была опубликована ISO-8859-5. Она была создана для работы с кириллическими языками. Включенные в эту кодировку символы обеспечивали полную поддержку русского, белорусского, болгарского, сербского и македонского языков. А вот для полной поддержки украинского языка ей не хватало буквы «ґ». Особого распространения эта кодировка не получила, но интересен сам факт разработки кириллической кодировки в рамках группы кодировок ISO/IEC.
История
Иллюстрация созвездия « Сириус » из астрономической рукописи IX века.
Пишущая машинка искусство
Отрывок из Brooklyn Daily Eagle от 6 января 1875 года, показывающий рекламу печатных машинок.
С 1867 года пишущие машинки используются для создания изобразительного искусства.
TTY и RTTY
TTY означает «TeleTYpe» или «TeleTYpewriter» и также известен как Teleprinter или Teletype . RTTY — это радиотелетайп ; Были использованы наборы символов, такие как код Бодо , предшествовавший ASCII. Согласно главе «Справочника RTTY», текстовые изображения были отправлены через телетайп еще в 1923 году. Однако ни одно из «старых» изображений RTTY до сих пор не обнаружено. Что известно, так это то, что текстовые изображения часто появлялись на радиотелетайпе в 1960-х и 1970-х годах.
Искусство линейного принтера
В 1960-х Андрис ван Дам опубликовал изображение электронной схемы, созданной на линейном принтере IBM 1403 . В то же время Кеннет Ноултон создавал реалистичные изображения, в том числе на линейных принтерах, печатая несколько символов друг на друге
Обратите внимание, что это не было искусством ASCII в том смысле, что 1403 управлялся платформой с кодировкой EBCDIC, а наборы символов и последовательности, доступные на 1403, были заимствованы из EBCDIC, а не ASCII, несмотря на некоторые общие черты глифов.
ASCII искусство
Имеется 95 печатаемых символов ASCII, пронумерованных от 32 до 126.
Широкое распространение искусства ASCII можно проследить до компьютерных досок объявлений конца 1970-х — начала 1980-х годов. Ограничения компьютеров того периода времени требовали использования текстовых символов для представления изображений. Однако наряду с использованием ASCII в коммуникации он также начал появляться в подпольных онлайн-арт-группах того периода. Комикс ASCII — это форма веб-комикса, в которой для создания изображений используется текст ASCII. Вместо изображений в обычном комиксе используется ASCII-арт, с текстом или диалоговым окном, обычно помещаемым под ним.
В течение 1990-х годов все более популярными становились графический просмотр и шрифты переменной ширины , что привело к упадку в искусстве ASCII. Несмотря на это, искусство ASCII продолжало выжить благодаря онлайн- MUD , аббревиатуре от «Multi-User Dungeon» (текстовые многопользовательские ролевые видеоигры ), ретрансляционному чату через Интернет , электронной почте , доскам сообщений и другим формам онлайн-общения. которые обычно используют необходимую фиксированную ширину .
ANSI
ASCII и, что более важно, ANSI были основными продуктами ранней технологической эры; Терминальные системы основывались на последовательном представлении с использованием стандартов цветных и управляющих сигналов в терминальных протоколах.
С годами варез- группы начали выходить на сцену искусства ASCII. Группы Warez обычно выпускают файлы .nfo вместе со своим программным обеспечением, кряками или другими общими выпусками обратного проектирования программного обеспечения. Рисунок ASCII обычно включает имя группы варез и, возможно, некоторые границы ASCII на внешней стороне примечаний к выпуску и т. Д.
Системы BBS были основаны на ASCII и ANSI, как и большинство DOS и подобных консольных приложений и предшественников AOL .
Базовая таблица кодировки ASCII
32 пробел | 48 0 | 64 @ | 80 P | 96 ` | 112 p |
33 ! | 49 1 | 65 A | 81 Q | 97 a | 113 q |
34 “ | 50 2 | 66 B | 82 R | 98 b | 114 r |
35 # | 51 3 | 67 C | 83 S | 99 c | 115 s |
36 $ | 52 4 | 68 D | 84 T | 100 d | 116 t |
37 % | 53 5 | 69 E | 85 U | 101 e | 117 u |
38 & | 54 6 | 70 F | 86 V | 102 f | 118 v |
39 ‘ | 55 7 | 71 G | 87 W | 103 g | 119 w |
40 ( | 56 8 | 72 H | 88 X | 104 h | 120 x |
41 ) | 57 9 | 73 I | 89 Y | 105 i | 121 y |
42 * | 58 : | 74 J | 90 Z | 106 j | 122 z |
43 + | 59 ; | 75 K | 91 [ | 107 k | 123 { |
44 , | 60 < | 76 L | 92 \ | 108 l | 124 | |
45 — | 61 = | 77 M | 93 ] | 109 m | 125 } |
46 . | 62 > | 78 N | 94 ^ | 110 n | 126 ~ |
47 / | 63 ? | 79 O | 95 _ | 111 o | 127 |
Символы с номерами от 128 до 255 представляют собой таблицу расширения и варьируются в зависимости от набора скриптов, представленных кодировкой символов. Набор символов таблицы расширения различается в зависимости от выбранной кодовой страницы:
Национальные варианты ASCII
Стандарт ISO 646 (ECMA-6) предусматривает возможность размещения в ASCII национальных символов. Для этого предлагается заменять символы «@», «», «\», «», «^», «`», «{», «|», «}», «~». Также на месте знака решётки «#» может быть размещён символ фунта «£», а на месте символа доллара «$» — знак валюты «¤». Такая система хорошо подходит для европейских языков, так как в них используются символы латинского алфавита и лишь несколько дополнительных символов. Вариант 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.
.1 | .2 | .3 | .4 | .5 | .6 | .7 | .8 | .9 | .A | .B | .C | .D | .E | .F | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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. | ! | « | # | $ | % | & | ‘ | ( | ) | * | + | , | — | . | ||
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 |
В первой версии стандарта ASCII (1963 год) — в позициях 0x5e (94) и 0x5f (95) располагались символы «стрелка вверх» и «стрелка влево», соответственно. Стандарт ECMA-6 (1965 год) заменил их на знак вставки и символ подчёркивание «_», соответственно.
В Советском Союзе стандарт был утвержден в виде таблицы международной ссылочной версии кода КОИ-7 Н0 ГОСТ 27463-87 (СТ СЭВ 356-86) «Системы обработки информации. 7-битные кодированные наборы символов».
ASCII таблица кодов символов Windows (Win-1251)
Dec | Hex | Символ | Dec | Hex | Символ | |
000 | 00 | спец. NOP | 128 | 80 | Ђ | |
001 | 01 | спец. SOH | 129 | 81 | Ѓ | |
002 | 02 | спец. STX | 130 | 82 | ‚ | |
003 | 03 | спец. ETX | 131 | 83 | ѓ | |
004 | 04 | спец. EOT | 132 | 84 | „ | |
005 | 05 | спец. ENQ | 133 | 85 | … | |
006 | 06 | спец. ACK | 134 | 86 | † | |
007 | 07 | спец. BEL | 135 | 87 | ‡ | |
008 | 08 | спец. BS | 136 | 88 | € | |
009 | 09 | спец. TAB | 137 | 89 | ‰ | |
010 | 0A | спец. LF | 138 | 8A | Љ | |
011 | 0B | спец. VT | 139 | 8B | ‹ ‹ | |
012 | 0C | спец. FF | 140 | 8C | Њ | |
013 | 0D | спец. CR | 141 | 8D | Ќ | |
014 | 0E | спец. SO | 142 | 8E | Ћ | |
015 | 0F | спец. SI | 143 | 8F | Џ | |
016 | 10 | спец. DLE | 144 | 90 | ђ | |
017 | 11 | спец. DC1 | 145 | 91 | ‘ | |
018 | 12 | спец. DC2 | 146 | 92 | ’ | |
019 | 13 | спец. DC3 | 147 | 93 | “ | |
020 | 14 | спец. DC4 | 148 | 94 | ” | |
021 | 15 | спец. NAK | 149 | 95 | • | |
022 | 16 | спец. SYN | 150 | 96 | – | |
023 | 17 | спец. ETB | 151 | 97 | — | |
024 | 18 | спец. CAN | 152 | 98 | ||
025 | 19 | спец. EM | 153 | 99 | ||
026 | 1A | спец. SUB | 154 | 9A | љ | |
027 | 1B | спец. ESC | 155 | 9B | › | |
028 | 1C | спец. FS | 156 | 9C | њ | |
029 | 1D | спец. GS | 157 | 9D | ќ | |
030 | 1E | спец. RS | 158 | 9E | ћ | |
031 | 1F | спец. US | 159 | 9F | џ | |
032 | 20 | сцеп. SP (Пробел) | 160 | A0 | ||
033 | 21 | ! | 161 | A1 | Ў | |
034 | 22 | « | 162 | A2 | ў | |
035 | 23 | # | 163 | A3 | Ћ | |
036 | 24 | $ | 164 | A4 | ¤ | |
037 | 25 | % | 165 | A5 | Ґ | |
038 | 26 | & | 166 | A6 | ¦ | |
039 | 27 | ‘ | 167 | A7 | § | |
040 | 28 | ( | 168 | A8 | Ё | |
041 | 29 | ) | 169 | A9 | ||
042 | 2A | * | 170 | AA | Є | |
043 | 2B | + | 171 | AB | ||
044 | 2C | , | 172 | AC | ¬ | |
045 | 2D | — | 173 | AD | | |
046 | 2E | . | 174 | AE | ||
047 | 2F | 175 | AF | Ї | ||
048 | 30 | 176 | B0 | ° | ||
049 | 31 | 1 | 177 | B1 | ± | |
050 | 32 | 2 | 178 | B2 | І | |
051 | 33 | 3 | 179 | B3 | і | |
052 | 34 | 4 | 180 | B4 | ґ | |
053 | 35 | 5 | 181 | B5 | µ | |
054 | 36 | 6 | 182 | B6 | ¶ | |
055 | 37 | 7 | 183 | B7 | · | |
056 | 38 | 8 | 184 | B8 | ё | |
057 | 39 | 9 | 185 | B9 | № | |
058 | 3A | 186 | BA | є | ||
059 | 3B | ; | 187 | BB | ||
060 | 3C | < | 188 | BC | ј | |
061 | 3D | = | 189 | BD | Ѕ | |
062 | 3E | > | 190 | BE | ѕ | |
063 | 3F | ? | 191 | BF | ї | |
064 | 40 | @ | 192 | C0 | А | |
065 | 41 | A | 193 | C1 | Б | |
066 | 42 | B | 194 | C2 | В | |
067 | 43 | C | 195 | C3 | Г | |
068 | 44 | D | 196 | C4 | Д | |
069 | 45 | E | 197 | C5 | Е | |
070 | 46 | F | 198 | C6 | Ж | |
071 | 47 | G | 199 | C7 | З | |
072 | 48 | H | 200 | C8 | И | |
073 | 49 | I | 201 | C9 | Й | |
074 | 4A | J | 202 | CA | К | |
075 | 4B | K | 203 | CB | Л | |
076 | 4C | L | 204 | CC | М | |
077 | 4D | M | 205 | CD | Н | |
078 | 4E | N | 206 | CE | О | |
079 | 4F | O | 207 | CF | П | |
080 | 50 | P | 208 | D0 | Р | |
081 | 51 | Q | 209 | D1 | С | |
082 | 52 | R | 210 | D2 | Т | |
083 | 53 | S | 211 | D3 | У | |
084 | 54 | T | 212 | D4 | Ф | |
085 | 55 | U | 213 | D5 | Х | |
086 | 56 | V | 214 | D6 | Ц | |
087 | 57 | W | 215 | D7 | Ч | |
088 | 58 | X | 216 | D8 | Ш | |
089 | 59 | Y | 217 | D9 | Щ | |
090 | 5A | Z | 218 | DA | Ъ | |
091 | 5B | 219 | DB | Ы | ||
092 | 5C | \ | 220 | DC | Ь | |
093 | 5D | 221 | DD | Э | ||
094 | 5E | ^ | 222 | DE | Ю | |
095 | 5F | _ | 223 | DF | Я | |
096 | 60 | ` | 224 | E0 | а | |
097 | 61 | a | 225 | E1 | б | |
098 | 62 | b | 226 | E2 | в | |
099 | 63 | c | 227 | E3 | г | |
100 | 64 | d | 228 | E4 | д | |
101 | 65 | e | 229 | E5 | е | |
102 | 66 | f | 230 | E6 | ж | |
103 | 67 | g | 231 | E7 | з | |
104 | 68 | h | 232 | E8 | и | |
105 | 69 | i | 233 | E9 | й | |
106 | 6A | j | 234 | EA | к | |
107 | 6B | k | 235 | EB | л | |
108 | 6C | l | 236 | EC | м | |
109 | 6D | m | 237 | ED | н | |
110 | 6E | n | 238 | EE | о | |
111 | 6F | o | 239 | EF | п | |
112 | 70 | p | 240 | F0 | р | |
113 | 71 | q | 241 | F1 | с | |
114 | 72 | r | 242 | F2 | т | |
115 | 73 | s | 243 | F3 | у | |
116 | 74 | t | 244 | F4 | ф | |
117 | 75 | u | 245 | F5 | х | |
118 | 76 | v | 246 | F6 | ц | |
119 | 77 | w | 247 | F7 | ч | |
120 | 78 | x | 248 | F8 | ш | |
121 | 79 | y | 249 | F9 | щ | |
122 | 7A | z | 250 | FA | ъ | |
123 | 7B | { | 251 | FB | ы | |
124 | 7C | | | 252 | FC | ь | |
125 | 7D | } | 253 | FD | э | |
126 | 7E | ~ | 254 | FE | ю | |
127 | 7F | Спец. DEL | 255 | FF | я |
ASCII таблица кодов символов Windows. Описание специальных (управляющих) символов
Следует отметить, что первоначально управляющие символы таблицы ASCII использовались
для обеспечения обмена данными по телетайпу, ввода данных с перфоленты и
для простейшего управления внешними устройствами.
В настоящее время большинство из управляющих символов ASCII таблицы
уже не несут эту нагрузку и могут использоваться для иных целей.
Код | Описание |
---|---|
NUL, 00 | Null, пустой |
SOH, 01 | Start Of Heading, начало заголовка |
STX, 02 | Start of TeXt, начало текста. |
ETX, 03 | End of TeXt, конец текста |
EOT, 04 | End of Transmission, конец передачи |
ENQ, 05 | Enquire. Прошу подтверждения |
ACK, 06 | Acknowledgement. Подтверждаю |
BEL, 07 | Bell, звонок |
BS, 08 | Backspace, возврат на один символ назад |
TAB, 09 | Tab, горизонтальная табуляция |
LF, 0A | Line Feed, перевод строки. Сейчас в большинстве языков программирования обозначается как \n |
VT, 0B | Vertical Tab, вертикальная табуляция. |
FF, 0C | Form Feed, прогон страницы, новая страница |
CR, 0D | Carriage Return, возврат каретки. Сейчас в большинстве языков программирования обозначается как \r |
SO, 0E | Shift Out, изменить цвет красящей ленты в печатающем устройстве |
SI, 0F | Shift In, вернуть цвет красящей ленты в печатающем устройстве обратно |
DLE, 10 | Data Link Escape, переключение канала на передачу данных |
DC1, 11 DC2, 12DC3, 13DC4, 14 | Device Control, символы управления устройствами |
NAK, 15 | Negative Acknowledgment, не подтверждаю. |
SYN, 16 | Synchronization. Символ синхронизации |
ETB, 17 | End of Text Block, конец текстового блока |
CAN, 18 | Cancel, отмена переданного ранее |
EM, 19 | End of Medium, конец носителя данных |
SUB, 1A | Substitute, подставить. Ставится на месте символа, значение которого было потеряно или испорчено при передаче |
ESC, 1B | Escape Управляющая последовательность |
FS, 1C | File Separator, разделитель файлов |
GS, 1D | Group Separator, разделитель групп |
RS, 1E | Record Separator, разделитель записей |
US, 1F | Unit Separator, разделитель юнитов |
DEL, 7F | Delete, стереть последний символ. |
Ссылки
Кодировки символов | ||
---|---|---|
Основы | алфавит • текст (файл • данные) • набор символов • конверсия | |
Исторические кодировки | Докомп.: | семафорная (Макарова) • Морзе • Бодо • МТК-2 |
Комп.: | 6-битная • УПП • RADIX-50 • EBCDIC (ДКОИ-8) • КОИ-7 • ISO 646 | |
современное8-битноепредставление | символы | ASCII (управляющие • печатные) • не-ASCII (псевдографика) |
8-битные код.стр. | Кириллица: КОИ-8 • Основная кодировка • MacCyrillic | |
ISO 8859 | 1 (лат.) • • • • 5 (кир.) • • • • • • • • • • 15 (€) • | |
Windows | • 1251 (кир.) • • • • • • • • WGL4 | |
IBM & DOS | • • • • 866 «альт.» • МИК | |
Многобайтные | Традиционные | DBCS (GB2312) • HTML |
Unicode | UTF-32 • UTF-16 • UTF-8 • список символов (кириллица) | |
Связанные темы | интерфейс пользователя • раскладка клавиатуры • локаль • перевод строки • шрифт • транслит • нестандартные шрифты | |
Утилиты | iconv • recode |
Этимология имен Аск и Эмбла
С древнескандинавского Аск («Askr») переводится как «ясень», перевод имени Эмбла («Embla») не столь однозначен. Есть две наиболее распространенные интерпретации. Согласно первой «Embla» выступает производной формой от «Elm-la» или «Almilōn», обе происходят от «almr», что значит «вяз» («elm» в современном английском).
Согласно другой версии, изначальной формой является «ambilō», что переводится как «виноградная лоза». Теоретически слово может быть связано с греческим «ἄμπελος» («ámpelos»), что в переводе также означает «лоза» или «лиана». Обе версии подробно рассмотрены в монографии Р. Симека «Словарь северной мифологии».
Б. Торп в своем анализе «Старшей Эдды», ссылаясь на Я. Гримма, утверждает, что имя Эмбла происходит от форм «amr», «ambr», «aml», «ambl», которые в любом контексте могут быть переведены как «усердный труд». Слово «Embla» таким образом может быть переведено как «занятая женщина». Там же Б. Торп проводит аналогию с Машьей и Машьяной из персидской мифологии, где первые люди также были созданы из деревьев.
Представление ASCII в ЭВМ
На подавляющем большинстве современных компьютеров, минимально адресуемая единица памяти — байт (размером в 8 бит); поэтому там используются 8-битные, а не 7-битные символы. Обычно символ ASCII расширяют до 8 бит, просто добавляя один нулевой бит в качестве старшего.
На компьютерах IBM/360 однако (в случае использования ASCII) применялся другой метод: 6-й бит (если первым считать самый младший бит) перемещается в 7-й, а бывший 7-й «раздваивается» и копируется и в 8-й бит, и в 6-й. Получается такая таблица:
.1 | .2 | .3 | .4 | .5 | .6 | .7 | .8 | .9 | .A | .B | .C | .D | .E | .F | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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 используются в программировании как промежуточные кроссплатформенные коды нажатых клавиш (в противовес скан-кодам IBM PC и прочим внутренним кодам). Для раскладки клавиатуры QWERTY — таблица кодов выглядит так, как показано в следующей таблице.
Escape 27 |
F1 112 |
F2 113 |
F3 114 |
F4 115 |
F5 116 |
F6 117 |
F7 118 |
F8 119 |
F9 120 |
F10 121 |
F11 122 |
F12 123 |
Print Screen |
Scroll Lock 145 |
Pause 19 |
|||||
` 192 |
1 49 |
2 50 |
3 51 |
4 52 |
5 53 |
6 54 |
7 55 |
8 56 |
9 57 |
48 |
— 189 |
=+ 187 |
Back Space 8 |
Insert 45 |
Home 36 |
Page Up 33 |
Num Lock 144 |
/ доп. 111 |
* доп. 106 |
+ доп. 107 |
Tab 9 |
Q 81 |
W 87 |
E 69 |
R 82 |
T 84 |
Y 89 |
U 85 |
I 73 |
O 79 |
P 80 |
219 |
221 |
Delete 46 |
End 35 |
Page Down 34 |
7 доп. 103 |
8 доп. 104 |
9 доп. 105 |
||
Caps Lock 20 |
A 65 |
S 83 |
D 68 |
F 70 |
G 71 |
H 72 |
J 74 |
K 75 |
L 76 |
186 |
‘ 222 |
Enter 13 |
4 доп. 100 |
5 доп. 101 |
6 доп. 102 |
Enter доп. 13 |
||||
Shift 16 |
Z 90 |
X 88 |
C 67 |
V 86 |
B 66 |
N 78 |
M 77 |
,< 188 |
.> 190 |
191 |
Shift 16 |
\| 220 |
Up 38 |
1 доп. 97 |
2 доп. 98 |
3 доп. 99 |
||||
Ctrl 17 |
super |
Alt 18 |
Space Bar 32 |
Alt 18 |
super |
list |
Ctrl 17 |
Left 37 |
Down 40 |
Right 39 |
Ins/0 доп. 45/96 |
Del/. доп. 46/110 |
Задания[править]
Проверьте работу программы вводом строки В коде ASCII, выводом программы окажется (где 10 — управляющий код разрыва строки.)
Введите строку . В зависимости от системы и ее настроек (так называемой локали), вывод может содержать 8 (при использовании однобайтных кириллических кодировок) или 14 кодов (UTF-8).
Изучите коды, формируемые такими клавишами и сочетаниями, как ESC, F5, ↑, Alt-x, Control-r.
Исследуйте работу программы на «нетекстовых» потоках небольшого (до примерно 500 байт) объема — изображениях (, ), упакованных файлах (, ) и др. Попробуйте установить закономерности
(Указание: обратите внимание на значения первых пяти—десяти кодов.)
вариант программы разрывает () выходные строки по границам входных. Реализуйте также разрыв выходных строк по достижению определенного количества выведенных в одной строке кодов (например, каждые 16.)
Разработайте варианты программы, выводящие считанные коды в шестнадцатиричном и восьмеричном представлениях
(Указание: воспользуйтесь материалом раздела Скалярные типы.)
Напишите программу, которая печатает все символы и их ASCII-коды.
Попробуйте напечатать как символ число больше 255. Что получается?
Ознакомьтесь с описанием программы в стандарте POSIX и в документации к пакету GNU Coreutils.
Интерпретации и аналогии
Р. Симек в образе Аска и Эмблы видит общий для всех индоевропейских народов архетип добывания огня в первобытном обществе – трение мягкой древесины (виноградная лоза) о более твердую (ясень). Аналогичные образы исследователь демонстрирует в различных культурах по всей территории Древней Европы, включая Античную Грецию.
При этом акт добывания огня в контексте вращения деревянной палочки в углублении на продольно расположенном куске древесины в протоиндоевропейских культурах ассоциировался с половым актом. Р. Симек находит подтверждение своей теории в изображениях, обнаруженных в так называемом «Королевском погребении» в Кивике (Швеция), которое датируется XV веком до нашей эры (эпоха бронзы).
Я. Пухвель в «Сравнительной мифологии» говорит о том, что всем древним культурам свойственен миф о паре (мужчине и женщине), которых создали боги и которые положили начало людскому роду. Помимо скандинавских Аска и Эмблы он упоминает персидских Машью и Машьяну, индуистских Яму и Йами и даже семитских Адама и Еву.
А. Хультгард в противоположность Я. Пухвелю говорит о том, что индоевропейские и азиатские мотивы о первородных парах кардинально отличаются. В индоевропейских культурах людей создают из деревьев, тогда как в семитских – из глины, земли или крови. Хульгард видит в этом принципиальную разницу двух культурных истоков.
В торфяном болоте возле города Браак (Шлезвиг, Германия) в 1947 году были обнаружены так называемые «Болотные Фигуры» («Bog Figures»). Они датируются III-II веками до нашей эры, изготовлены из дуба и изображают мужчину и женщину. Подобные фигуры, датируемые различными эпохами от неолита до средневековья, находят по всей Германии. Х. Дэвидсон предполагает, что это образы «господина и госпожи» Ванов – пантеона древних северных богов, предшествовавших асам. Х. Дэвидсон пишет, что именно от этой пары Ванов мог впоследствии произойти образ Аска и Эмблы.
Имя Аск («Æsc») фигурирует в англосаксонской генеалогии королей Кента, там Аск – сын легендарного Хенгиста (который вместе со своим братом Хорсой вторгся на Британские острова в V веке). В монографии «Словарь норвежских мифов и легенд» Э. Орчард говорит о том, что образы Аска и Эмблы могу быть не сугубо мифологическим, а основанным на неких германских и протогерманских источниках, вполне вероятно – реально исторических.
В «Origo Gentis Langobardorum» Павла Дьякона (VII век нашей эры) упоминаются король и королева вандалов Асси и Амбри. Р. Симек видит здесь очевидную лингвистическую аналогию с именами Аск и Эмбла. Теорию подтверждает тот факт, что у П. Дьякона Асси и Амбри обращаются к Одину (который упомянут как Годан), чтобы тот даровал им победу.
Аск и Эмбла прочно вошли в культуру северных народов. К примеру, эта мифическая пара изображена на почтовой марке Фарерских островов, а в Сёльвесборге (Швеция) есть скульптура, изображающая Аска и Эмблу.
Советуем почитать:
- Руна Йера (Яра)
- Альгиз – инстинктивная защита, благословение
- Слейпнир – волшебный скакун Одина
- Бури – антагонист Имира
- Сурт – огненный великан
Кодировки на основе Unicode
Unicode можно себе представить как огромную таблицу символов. В памяти компьютера записываются не сами символы, а номера из таблицы. Записывать их можно разными способами. Именно для этого на основе Unicode разработаны несколько кодировок, которые отличаются способом записи номера символа Unicode в виде набора байт. Они называются UTF — Unicode Transformation Format. Есть кодировки постоянной длины, например, UTF-32, в которой номер любого символа из таблицы Unicode занимает ровно 4 байта. Однако наибольшую популярность получила UTF-8 — кодировка с переменным числом байт. Она позволяет кодировать символы так, что наиболее распространённые символы занимают 1-2 байта, и только редко встречающиеся символы могут использовать по 4 байта. Например, все символы таблицы ASCII занимают ровно по одному байту, поэтому текст, написанный на английском языке с использованием кодировки UTF-8, будет занимать столько же места, как и текст, написанный с использованием таблицы символов ASCII.
На сегодняшний день Unicode является основной кодировкой, которую используют в работе все, кто связан с компьютерами и текстами. Unicode позволяет использовать сотни тысяч различных символов и отображать их одинаково на всех устройствах от мобильных телефонов до компьютеров на космических станциях.
[править] Предтечи
«Кошечка»
Близкие к аски-арту изображения начали появляться еще в Древней Греции, потом ими некоторое время занимался Рабле, а в XIX веке уже многие поэты-экспериментаторы занимались ими. Одним из их проявлений стал фигурный текст в поэзии — каллиграммы. Общеизвестным примером может стать поэзия Гийома Аполлинера, активно использовавшего каллиграммы в своих стихах. Ещё один общеизвестный пример — творчество Льюиса Кэрролла («Алиса»).
С изобретением печатной машинки в середине XIX в. создание изображений с помощью литер стало восприниматься как вид креатиффа. В 1890-х годах производители печатных машинок и агентства по найму и обучению секретарш устраивали конкурсы на самый быстрый набор текста, а также на самый лучший рисунок, созданный с помощью машинки. Один из наиболее ранних сохранившихся примеров такого искусства — рисунок бабочки, созданный в 1898 г. Флорой Стэйсси и опубликованный в журнале «Pitman’s Phonetic Journal» от 15 октября 1898 г. Картинка составлена из множества скобок, дефисов, звёздочек, точек и нескольких прописных букв «o».
В 70-е годы среди научных сотрудников были популярны портреты Эйнштейна, Моны Лизы и некоторые другие картинки, напечатанные на АЦПУ. Это была скорее эмуляция растровой графики с помощью печатных символов, где символ соответствовал пикселю.
Кодировки стандарта ASCII[править]
Определение: |
ASCII — таблицы кодировок, в которых содержатся основные символы (английский алфавит, цифры, знаки препинания, символы национальных алфавитов(свои для каждого региона), служебные символы) и длина кода каждого символа бит. |
бит:
ASCII7 — первая кодировка, пригодная для работы с текстом. Помимо маленьких букв английского алфавита и служебных символов, содержит большие буквы английского языка, цифры, знаки препинания и другие символы.
Кодировки стандарта ASCII ( бит):
- ASCII — первая кодировка, в которой стало возможно использовать символы национальных алфавитов.
- КОИ8-R — первая русская кодировка. Символы кириллицы расположены не в алфавитном порядке. Их разместили в верхнюю половину таблицы так, чтобы позиции кириллических символов соответствовали их фонетическим аналогам в английском алфавите. Это значит, что даже при потере старшего бита каждого символа, например, при проходе через устаревший семибитный модем, текст остается «читаемым».
- CP866 — русская кодировка, использовавшаяся на компьютерах IBM в системе DOS.
- Windows-1251 — русская кодировка, использовавшаяся в русскоязычных версиях операционной системы Windows в начале 90-х годов. Кириллические символы идут в алфавитном порядке. Содержит все символы, встречающиеся в типографике обычного текста (кроме знака ударения).
Структурные свойства таблицыправить
- Цифры 0-9 представляются своими двоичными значениями (например, ), перед которыми стоит . Таким образом, двоично-десятичные числа (BCD) превращаются в ASCII-строку с помощью простого добавления слева к каждому двоично-десятичному полубайту.
- Буквы A-Z верхнего и нижнего регистров различаются в своём представлении только одним битом, что упрощает преобразование регистра и проверку на диапазон. Буквы представляются своими порядковыми номерами в алфавите, записанными в двоичной системе счисления, перед которыми стоит (для букв верхнего регистра) или (для букв нижнего регистра).
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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 | 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 |