Кодирование символов
Кодировка символов (часто называемая также кодовой страницей ) – это набор числовых значений, которые ставятся в соответствие группе алфавитно-цифровых символов, знаков пунктуации и специальных символов.
Для кодировки символов в Windows используется таблица ASCII (American Standard Code for Interchange of Information).
В ASCII первые 128 символов всех кодовых страниц состоят из базовой таблицы символов. Первые 32 кода базовой таблицы, начиная с нулевого, размещают управляющие коды.
Символ | Код | Клавиши | Значение |
nul | Ctrl + @ | Нуль | |
soh | 1 | Ctrl + A | Начало заголовка |
stx | 2 | Ctrl + B | Начало текста |
etx | 3 | Ctrl + C | Конец текста |
eot | 4 | Ctrl + D | Конец передачи |
enq | 5 | Ctrl + E | Запрос |
ack | 6 | Ctrl + F | Подтверждение |
bel | 7 | Ctrl + G | Сигнал (звонок) |
bs | 8 | Ctrl + H | Забой (шаг назад) |
ht | 9 | Ctrl + I | Горизонтальная табуляция |
lf | 10 | Ctrl + J | Перевод строки |
vt | 11 | Ctrl + K | Вертикальная табуляция |
ff | 12 | Ctrl + L | Новая страница |
cr | 13 | Ctrl + M | Возврат каретки |
so | 14 | Ctrl + N | Выключить сдвиг |
si | 15 | Ctrl + O | Включить сдвиг |
dle | 16 | Ctrl + P | Ключ связи данных |
dc1 | 17 | Ctrl + Q | Управление устройством 1 |
dc2 | 18 | Ctrl + R | Управление устройством 2 |
dc3 | 19 | Ctrl + S | Управление устройством 3 |
dc4 | 20 | Ctrl + T | Управление устройством 4 |
nak | 21 | Ctrl + U | Отрицательное подтверждение |
syn | 22 | Ctrl + V | Синхронизация |
etb | 23 | Ctrl + W | Конец передаваемого блока |
can | 24 | Ctrl + X | Отказ |
em | 25 | Ctrl + Y | Конец среды |
sub | 26 | Ctrl + Z | Замена |
esc | 27 | Ctrl + [ | Ключ |
fs | 28 | Ctrl + \ | Разделитель файлов |
gs | 29 | Ctrl + ] | Разделитель группы |
rs | 30 | Ctrl + ^ | Разделитель записей |
us | 31 | Ctrl + _ | Разделитель модулей |
Базовая таблица кодировки 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 | 78 N | 94 ^ | 110 n | 126 |
Символы с номерами от 128 до 255 представляют собой таблицу расширения и варьируются в зависимости от набора скриптов, представленных кодировкой символов. Набор символов таблицы расширения различается в зависимости от выбранной кодовой страницы:
1251 – кодовая страница Windows
128 Ђ | 144 Ђ | 160 | 176 ° | 192 А | 208 Р | 224 а | 240 р |
129 Ѓ | 145 ‘ | 161 Ў | 177 ± | 193 Б | 209 С | 225 б | 241 с |
130 ‚ | 146 ’ | 162 ў | 178 I | 194 В | 210 Т | 226 в | 242 т |
131 ѓ | 147 “ | 163 J | 179 i | 195 Г | 211 У | 227 г | 243 у |
132 „ | 148 ” | 164 ¤ | 180 ґ | 196 Д | 212 Ф | 228 д | 244 ф |
133 … | 149 • | 165 Ґ | 181 μ | 197 Е | 213 Х | 229 е | 245 х |
134 † | 150 – | 166 ¦ | 182 ¶ | 198 Ж | 214 Ц | 230 ж | 246 ц |
135 ‡ | 151 — | 167 § | 183 · | 199 З | 215 Ч | 231 з | 247 ч |
136 € | 152 □ | 168 Ё | 184 ё | 200 И | 216 Ш | 232 и | 248 ш |
137 ‰ | 153 ™ | 169 © | 185 № | 201 Й | 217 Щ | 233 й | 249 щ |
138 Љ | 154 љ | 170 Є | 186 є | 202 К | 218 Ъ | 234 к | 250 ъ |
139 | 171 « | 187 » | 203 Л | 219 Ы | 235 л | 251 ы | |
140 Њ | 156 њ | 172 ¬ | 188 j | 204 М | 220 Ь | 236 м | 252 ь |
141 Ќ | 157 ќ | 173 | 189 S | 205 Н | 221 Э | 237 н | 253 э |
142 Ћ | 158 ћ | 174 ® | 190 s | 206 О | 222 Ю | 238 о | 254 ю |
143 Џ | 159 џ | 175 Ï | 191 ї | 207 П | 223 Я | 239 п | 255 я |
866 – кодовая страница DOS
128 А | 144 Р | 160 а | 176 ░ | 192 └ | 208 ╨ | 224 р | 240 ≡Ё |
129 Б | 145 С | 161 б | 177 ▒ | 193 ┴ | 209 ╤ | 225 с | 241 ±ё |
130 В | 146 Т | 162 в | 178 ▓ | 194 ┬ | 210 ╥ | 226 т | 242 ≥ |
131 Г | 147 У | 163 г | 179 │ | 195 ├ | 211 ╙ | 227 у | 243 ≤ |
132 Д | 148 Ф | 164 д | 180 ┤ | 196 ─ | 212 ╘ | 228 ф | 244 ⌠ |
133 Е | 149 Х | 165 е | 181 ╡ | 197 ┼ | 213 ╒ | 229 х | 245 ⌡ |
134 Ж | 150 Ц | 166 ж | 182 ╢ | 198 ╞ | 214 ╓ | 230 ц | 246 ¸ |
135 З | 151 Ч | 167 з | 183 ╖ | 199 ╟ | 215 ╫ | 231 ч | 247 » |
136 И | 152 Ш | 168 и | 184 ╕ | 200 ╚ | 216 ╪ | 232 ш | 248 ° |
137 Й | 153 Щ | 169 й | 185 ╣ | 201 ╔ | 217 ┘ | 233 щ | 249 · |
138 К | 154 Ъ | 170 к | 186 ║ | 202 ╩ | 218 ┌ | 234 ъ | 250 ∙ |
139 Л | 155 Ы | 171 л | 187 ╗ | 203 ╦ | 219 █ | 235 ы | 251 √ |
140 М | 156 Ь | 172 м | 188 ╝ | 204 ╠ | 220 ▄ | 236 ь | 252 ⁿ |
141 Н | 157 Э | 173 н | 189 ╜ | 205 ═ | 221 ▌ | 237 э | 253 ² |
142 О | 158 Ю | 174 о | 190 ╛ | 206 ╬ | 222 ▐ | 238 ю | 254 ■ |
143 П | 159 Я | 175 п | 191 ┐ | 207 ╧ | 223 ▀ | 239 я | 255 |
Русские названия основных спецсимволов:
Символ | Название |
` | гравис, кавычка, обратный машинописный апостроф |
` | гравис, кавычка, обратный машинописный апостроф |
тильда | |
! | восклицательный знак |
@ | эт, коммерческое эт, «собака» |
# | октоторп, решетка, диез |
$ | знак доллара |
% | процент |
^ | циркумфлекс, знак вставки |
& | амперсанд |
* | астериск, звездочка, знак умножения |
( | левая открывающая круглая скобка |
) | правая закрывающая круглая скобка |
— | минус, дефис |
_ | знак подчеркивания |
= | знак равенства |
+ | плюс |
[ | левая открывающая квадратная скобка |
] | правая закрывающая квадратная скобка |
< | левая открывающая фигурная скобка |
> | правая закрывающая фигурная скобка |
; | точка с запятой |
: | двоеточие |
‘ | машинописный апостроф, одинарная кавычка |
« | двойная кавычка |
, | запятая |
. | точка |
/ | слэш, косая черта, знак дроби |
правая закрытая угловая скобка, знак больше | |
\ | обратный слэш, обратная косая черта |
| | вертикальная черта |
Кодировка UNICODE
Юникод (Unicode) — стандарт кодирования символов, позволяющий представить знаки практически всех письменных языков. Стандарт предложен в 1991 году некоммерческой организацией «Консорциум Юникода».
В Unicode используются 16-битовые (2-байтовые) коды, что позволяет представить 65536 символов.
Применение стандарта Unicode позволяет закодировать очень большое число символов из разных письменностей: в документах Unicode могут соседствовать китайские иероглифы, математические символы, буквы греческого алфавита, латиницы и кириллицы, при этом становится ненужным переключение кодовых страниц.
Для представления символьных данных в кодировке Unicode используется символьный тип wchar_t .
ASCII | UNICODE |
char | wchar_t |
1 байт | 2 байта |
Тип кодировки задается в свойствах проекта Microsoft Visual Studio:
Многобайтовая кодировка предполагает использование кодировки ASCII.
При этом при построении проекта используется директива условной компиляции, переопределяющая тип TCHAR :
Для перекодирования строки в формат Unicode без изменения кодировки файла используется макроопределение
_T(«строка»)
Прототип макроса содержится в файле tchar.h .
Таблица соответствия кодов — представлений чисел. (Десятичные от 1 до 255 и соответствующие восьмеричные, шестнадцатиричные, двоичные, ASCII коды).
Таблица соответствия кодов — представлений чисел. (десятичные от 1 до 255 и соответствующие восьмеричные, шестнадцатиричные, двоичные, ASCII коды).
ASCII (англосаксы говорят American Standard Code for Information Interchange) — американский стандартный код для обмена информацией. ASCII представляет собой кодировку для представления десятичных цифр, латинского и национального алфавитов, знаков препинания и управляющих символов. Изначально разработанная как 7-битная, с широким распространением 8-битного байта ASCII стала восприниматься как половина 8-битной. В компьютерах обычно используют расширения ASCII с задействованной второй половиной байта.
Таблица 1. десятичные числа от 0 до 127.
Dec/ дес яти чный |
Oct/ вось мер ичн ый |
hex/ шес тна дца тер ичн |
Bin/ двоич ный |
ASCII симв |
пояснение | ввод с клавиатуры | Dec/ дес яти чный |
Oct/ вось мер ичн ый |
hex/ шес тна дца тер ичн |
Bin/ двоич ный |
ASCII симв |
Dec/ дес яти чный |
Oct/ вось мер ичн ый |
hex/ шес тна дца тер ичн |
Bin/ двоич ный |
ASCII симв |
Dec/ дес яти чный |
Oct/ вось мер ичн ый |
hex/ шес тна дца тер ичн |
Bin/ двоич ный |
ASCII симв |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
000 | 00000000 | NUL | Пустой ASCII символ |
CTRL-@ |
32 | 040 | 20 | 00100000 | пробел/space | 64 | 100 | 40 | 01000000 | @ | 96 | 140 | 60 | 01100000 | ` | ||
1 | 001 | 1 | 00000001 | SOH | Начало заголовка | CTRL-A | 33 | 041 | 21 | 00100001 | ! | 65 | 101 | 41 | 01000001 | A | 97 | 141 | 61 | 01100001 | a |
2 | 002 | 2 | 00000010 | STX | Начало текста | CTRL-B | 34 | 042 | 22 | 00100010 | « | 66 | 102 | 42 | 01000010 | B | 98 | 142 | 62 | 01100010 | b |
3 | 003 | 3 | 00000011 | ETX | Конец текста | CTRL-C | 35 | 043 | 23 | 00100011 | # | 67 | 103 | 43 | 01000011 | C | 99 | 143 | 63 | 01100011 | c |
4 | 004 | 4 | 00000100 | EOT | Конец передачи | CTRL-D | 36 | 044 | 24 | 00100100 | $ | 68 | 104 | 44 | 01000100 | D | 100 | 144 | 64 | 01100100 | d |
5 | 005 | 5 | 00000101 | ENQ | Запрос | CTRL-E | 37 | 045 | 25 | 00100101 | % | 69 | 105 | 45 | 01000101 | E | 101 | 145 | 65 | 01100101 | e |
6 | 006 | 6 | 00000110 | ACK | Подтвержд. получения | CTRL-F | 38 | 046 | 26 | 00100110 | & | 70 | 106 | 46 | 01000110 | F | 102 | 146 | 66 | 01100110 | f |
7 | 007 | 7 | 00000111 | BEL | Звуковой сигнал | CTRL-G | 39 | 047 | 27 | 00100111 | ‘ | 71 | 107 | 47 | 01000111 | G | 103 | 147 | 67 | 01100111 | g |
8 | 010 | 8 | 00001000 | BS** | Обратный ход каретки | CTRL-H | 40 | 050 | 28 | 00101000 | ( | 72 | 110 | 48 | 01001000 | H | 104 | 150 | 68 | 01101000 | h |
9 | 011 | 9 | 00001001 | TAB** | Горизонт. табуляция | CTRL-I | 41 | 051 | 29 | 00101001 | ) | 73 | 111 | 49 | 01001001 | I | 105 | 151 | 69 | 01101001 | i |
10 | 012 | A | 00001010 | LF** | Начало строки | CTRL-J | 42 | 052 | 2A | 00101010 | * | 74 | 112 | 4A | 01001010 | J | 106 | 152 | 6A | 01101010 | j |
11 | 013 | B | 00001011 | VT | Вертикальная табуляция | CTRL-K | 43 | 053 | 2B | 00101011 | + | 75 | 113 | 4B | 01001011 | K | 107 | 153 | 6B | 01101011 | k |
12 | 014 | C | 00001100 | FF | Начало формы | CTRL-L | 44 | 054 | 2C | 00101100 | , | 76 | 114 | 4C | 01001100 | L | 108 | 154 | 6C | 01101100 | l |
13 | 015 | D | 00001101 | CR** | Возврат каретки | CTRL-M | 45 | 055 | 2D | 00101101 | — | 77 | 115 | 4D | 01001101 | M | 109 | 155 | 6D | 01101101 | m |
14 | 016 | E | 00001110 | SO | Передача | CTRL-N | 46 | 056 | 2E | 00101110 | . | 78 | 116 | 4E | 01001110 | N | 110 | 156 | 6E | 01101110 | n |
15 | 017 | F | 00001111 | SI | Прием | CTRL-O | 47 | 057 | 2F | 00101111 | / | 79 | 117 | 4F | 01001111 | O | 111 | 157 | 6F | 01101111 | o |
16 | 020 | 10 | 00010000 | DLE | Закр. канала связи | CTRL-P | 48 | 060 | 30 | 00110000 | 80 | 120 | 50 | 01010000 | P | 112 | 160 | 70 | 01110000 | p | |
17 | 021 | 11 | 00010001 | DC1 | Упр. устройством 1 | CTRL-Q | 49 | 061 | 31 | 00110001 | 1 | 81 | 121 | 51 | 01010001 | Q | 113 | 161 | 71 | 01110001 | q |
18 | 022 | 12 | 00010010 | DC2 | Упр. устройством 2 | CTRL-R | 50 | 062 | 32 | 00110010 | 2 | 82 | 122 | 52 | 01010010 | R | 114 | 162 | 72 | 01110010 | r |
19 | 023 | 13 | 00010011 | DC3 | Упр. устройством 3 | CTRL-S | 51 | 063 | 33 | 00110011 | 3 | 83 | 123 | 53 | 01010011 | S | 115 | 163 | 73 | 01110011 | s |
20 | 024 | 14 | 00010100 | DC4 | Упр. устройством 4 | CTRL-T | 52 | 064 | 34 | 00110100 | 4 | 84 | 124 | 54 | 01010100 | T | 116 | 164 | 74 | 01110100 | t |
21 | 025 | 15 | 00010101 | NAK | Отрицание получения | CTRL-U | 53 | 065 | 35 | 00110101 | 5 | 85 | 125 | 55 | 01010101 | U | 117 | 165 | 75 | 01110101 | u |
22 | 026 | 16 | 00010110 | SYN | Синхронизация | CTRL-V | 54 | 066 | 36 | 00110110 | 6 | 86 | 126 | 56 | 01010110 | V | 118 | 166 | 76 | 01110110 | v |
23 | 027 | 17 | 00010111 | ETB | Конец пакета | CTRL-W | 55 | 067 | 37 | 00110111 | 7 | 87 | 127 | 57 | 01010111 | W | 119 | 167 | 77 | 01110111 | w |
24 | 030 | 18 | 00011000 | CAN | Отмена | CTRL-X | 56 | 070 | 38 | 00111000 | 8 | 88 | 130 | 58 | 01011000 | X | 120 | 170 | 78 | 01111000 | x |
25 | 031 | 19 | 00011001 | EM | Закрытие среды | CTRL-Y | 57 | 071 | 39 | 00111001 | 9 | 89 | 131 | 59 | 01011001 | Y | 121 | 171 | 79 | 01111001 | y |
26 | 032 | 1A | 00011010 | SUB | Замена | CTRL-Z | 58 | 072 | 3A | 00111010 | : | 90 | 132 | 5A | 01011010 | Z | 122 | 172 | 7A | 01111010 | z |
27 | 033 | 1B | 00011011 | ESC | Завершение | CTRL-[ | 59 | 073 | 3B | 00111011 | ; | 91 | 133 | 5B | 01011011 | [ | 123 | 173 | 7B | 01111011 | < |
28 | 034 | 1C | 00011100 | FS | Разделитель файлов | CTRL-\ | 60 | 074 | 3C | 00111100 | 94 | 136 | 5E | 01011110 | ^ | 126 | 176 | 7E | 01111110 | ||
31 | 037 | 1F | 00011111 | US | Разделитель модулей | CTRL-_ | 63 | 077 | 3F | 00111111 | ? | 95 | 137 | 5F | 01011111 | _ | 127 | 177 | 7F | 01111111 | |
Таблица 2. десятичные числа от 128 до 255.
ASCII – путеводитель для новичков
Для того, чтобы грамотно использовать ASCII , необходимо расширить знания в данной сфере и о возможностях кодирования.
Что это такое?
ASCII представляет собой кодировочную таблицу печатных символов (см. скриншот №1), набираемых на компьютерной клавиатуре, для передачи информации и некоторых кодов. Иными словами происходит кодирование алфавита и десятичных цифр в соответствующие символы, представляющие и несущие в себе необходимую информацию.
Кодировка ASCII была разработана в Америке, поэтому стандартная кодировочная таблица обычно включает в себя английский алфавит с цифрами, что в общей сложности составляет около 128 символов. Но тогда возникает справедливый вопрос: что делать, если необходима кодировка национального алфавита?
Для решения подобных вопросов были разработаны другие версии таблицы ASCII . Например, для языков с иноязычной структурой были или убраны буквы английского алфавита, или к ним добавлялись дополнительные символы в виде национального алфавита. Так, в кодировке ASCII могут присутствовать русские буквы для национального использования (см. скриншот №2).
Где применяется система кодировки ASCII?
Данная кодировочная система необходима не только для набора текстовой информации на клавиатуре. Она также используется в графике. Например, в программе ASCII Art Maker графические изображения различных расширений состоят из спектра символов кодировки ASCII (см. скриншот №3).
Как правило, подобные программы можно разделить на те, что выполняют функцию графических редакторов, инвертируя изображение в текст, и на те, что конвертируют изображение в ASCII -графику. Всем известный смайлик (или как его еще называют « улыбающееся человеческое лицо ») тоже является примером кодировочного символа.
Данный метод кодировки также может быть востребован во время написания или создания документа HTML. Например, вы вводите определённый и необходимый вам набор знаков, а при просмотре самой страницы на экран будет выведен символ, соответствующий данному коду.
Кроме всего прочего данный вид кодировки необходим при создании многоязычного сайта, потому что знаки, которые не входят в ту или иную национальную таблицу, нужно будет заменить ASCII кодами. Если читатель непосредственно связан с информационно-коммуникативными технологиями (ИКТ), то ему будет полезно ознакомиться и с такими системами как:
- Переносимый набор символов;
- Управляющие символы;
- EBCDIC;
- VISCII;
- YUSCII;
- Юникод;
- ASCII art;
- КОИ-8.
Свойства таблицы ASCII
Как и любая систематизированная программа, ASCII обладает своими характерными свойствами. Так, например, десятеричная система исчисления (цифры от 0 до 9) преобразуется в двоичную систему исчисления (т.е. каждая десятеричная цифра преобразуется в двоичную 288=1001000 соответственно).
Буквы, располагающиеся в верхних и нижних колонках, отличаются друг от друга лишь битом, что существенно снижает уровень сложности проверки и редактирование регистра.
При всех этих свойствах кодировка ASCII работает как восьми битная, хотя изначально предусматривалась как семи битная.
Применение ASCII в программах Microsoft Office:
В случае необходимости данный вариант кодирования информации может быть использован в Microsoft Notepad и Microsoft Office Word. В рамках этих приложений документ может быть сохранен в формате ASCII , но в этом случае при наборе текста невозможно будет использование некоторых функций.
В частности, будет недоступно выделение жирным и полужирным шрифтом, потому что кодирование сохраняет лишь смысл набранной информации, а не общий вид и форму. Добавить такие коды в документ вы можете с помощью следующих программных приложений:
- Microsoft Excel;
- Microsoft FrontPage;
- Microsoft InfoPath;
- Microsoft OneNote;
- Microsoft Outlook;
- Microsoft PowerPoint;
- Microsoft Project.
При этом стоит учитывать, что набирая код ASCII в этих приложениях необходимо удерживать нажатой клавиатурную клавишу ALT.
Конечно, все необходимые коды требует более длительного и обстоятельного изучения, но это выходит за пределы нашей сегодняшней статьи. Надеюсь, что она оказалась для Вас действительно полезной.
Кодировка ASCII
Материал для самостоятельного изучения по теме Лекции 2
Кодировочная таблица ASCII (ASCII — American Standard Code for Information Interchange — Американский стандартный код для обмена информацией).
Всего с помощью таблицы кодирования ASCII (рисунок 1) можно закодировать 256 различных символов. Эта таблица разделена на две части: основную (с кодами от OOh до 7Fh) и дополнительную (от 80h до FFh, где буква h обозначает принадлежность кода к шестнадцатеричной системе счисления).
Для кодировки одного символа из таблицы отводится 8 бит (1 байт). При обработке текстовой информации один байт может содержать код некоторого символа — буквы, цифры, знака пунктуации, знака действия и т.д. Каждому символу соответствует свой код в виде целого числа. При этом все коды собираются в специальные таблицы, называемые кодировочными. С их помощью производится преобразование кода символа в его видимое представление на экране монитора. В результате любой текст в памяти компьютера представляется как последовательность байтов с кодами символов.
Например, слово hello! будет закодировано следующим образом (таблица 1).
Символ | h | e | I | I | o | ! |
Код двоичный | ||||||
Код десятичный |
На рисунке 1 представлены символы, входящие в стандартную (английскую) и расширенную (русскую) кодировку ASCII.
Первая половина таблицы ASCII стандартизована. Она содержит управляющие коды (от 00h до 20h и 77h). Эти коды из таблицы изъяты, так как они не относятся к текстовым элементам. Здесь же размещаются знаки пунктуации и математические знаки: 2lh — !, 26h — &, 28h — (, 2Bh -+. большие и малые латинские буквы: 41h — A, 61h – а.
Вторая половина таблицы содержит национальные шрифты, символы псевдографики, из которых могут быть построены таблицы, специальные математические знаки. Нижнюю часть таблицы кодировок можно заменять, используя соответствующие драйверы — управляющие вспомогательные программы. Этот прием позволяет применять несколько шрифтов и их гарнитур.
Дисплей по каждому коду символа должен вывести на экран изображение символа – не просто цифровой код, а соответствующую ему картинку, так как каждый символ имеет свою форму. Описание формы каждого символа хранится в специальной памяти дисплея — знакогенераторе. Высвечивание символа на экране дисплея IBМ PC, например, осуществляется с помощью точек, образующих символьную матрицу. Каждый пиксел в такой матрице является элементом изображения и может быть ярким или темным. Темная точка кодируется цифрой 0, светлая (яркая)- 1. Если изображать в матричном поле знака темные пикселы точкой, а светлые — звездочкой, то можно графически изобразить форму символа.
Люди в разных странах используют символы для записи слов их родных зыков. В наши дни большинство приложений, включая системы электронной почты и вэб-браузеры, являются чисто 8-битными, то есть они могут показывать и корректно воспринимать лишь 8-битные символы, согласно стандарту ISO-8859-1.
Существует более 256 символов в мире (если учесть кириллицу, арабский, китайский, японский, корейский и тайский языки), а также появляются все новые и новые символы. И это создает следующие пробелы для многих пользователей:
Невозможно использовать символы различных наборов кодировок в одном и том же документе. Так как каждый текстовый документ использует свой собственный набор кодировок, то возникают большие трудности с автоматическим распознаванием текста.
Появляются новые символы (например: Евро), вследствие чего ISO разрабатывает новый стандарт ISO-8859-15, который весьма схож со стандартом ISO-8859-1. Разница состоит в следующем: из таблицы кодировки старого стандарта ISO-8859-1 были убраны символы обозначения старых валют, которые не используются в настоящее время, для того, чтобы освободить место под вновь появившиеся символы (такие, как Евро). В результате у пользователей на дисках могут лежать одни и те же документы, но в разных кодировках. Решением этих проблем является принятие единого международного набора кодировок, который называется универсальным кодированием или Unicode.
Не нашли то, что искали? Воспользуйтесь поиском:
Лучшие изречения: Увлечёшься девушкой-вырастут хвосты, займёшься учебой-вырастут рога 9790 — | 7665 — или читать все.
Таблица ASCII и как её использовать
Приветствую всех. Как Вы поняли из заголовка, сегодня мы поговорим про то, что такое таблица ASCII и как её можно использовать.
Собственно, однажды я писал Вам о том как же генерировать и запомнить довольно взломоустойчивый к подбору и, как следствие, взлому пароль. Судя по отзывам, статья многим пригодилась, а некоторые вообще сделали из придумывания паролей что-то вроде искусства (местами очень комичного), но не о том речь.
Хитрый пароль, — это чудесно, но будь в нем хоть 30 символов — это не спасет Вас от программ-кейлогеров или недобросовестных людей, которые попросту подглядывают за тем, что Вы вводите.
Впрочем, давайте поподробнее.
Вводная
Помимо зараженного дома вирусами (а кейлогер и есть вирус) компьютера подобная проблема особенно актуальна в интернет-кафе и компьютерных клубах.
- Во-первых никогда не знаешь, что за программы там установлены и, вполне вероятно, что недобросовестный админ по-хитрому делает лог (запись) всех вводов паролей с помощью программки-кейлогера;
- Во-вторых, учитывая, что это место публичное кто-то может легко посмотреть и запомнить что же Вы там набрали (кстати в интернет-кафе или прочих публичных местах еще и иногда стоят камеры, которые ведут запись в беспрерывном режиме).
Сегодня я расскажу Вам о том как собрать пароль, устойчивый от воровства при помощи программ keyloger ‘ов (клавиатурные шпионы запоминающие вводимые Вами символы в формах логинов и паролей) и просто запоминания (если Вы вдруг вводите пароль при ком-то) кем бы то ни было.
К тому же многим будет интересно узнать о вводе с клавиатуры специфичных символов (как пару примеров: û
Ç ╟↓ ∟ П ┬ и тд и тп) без всяких сторонних программ, что кстати очень просто, но известно в основном только людям, связанным с компьютерами в качестве профессии.
Таблица ASCII как использовать расширенные символы
Я не буду особо разжевывать Вам принципы работы программ-кейлогеров (вирусов) скажу лишь общую схему: кейлогер следит за нажатием клавиш и собирает вводимые Вами логины и пароли в некий лог-файл, который потом отправляет (или взломщик забирает его сам, если имеет доступ к компьютеру) злоумышленнику.
Не для кого не секрет, что все вводимые буквы и цифры — это символы. Но символы можно разделить на два вида — простые и специфичные (расширенные). Простые — это, как я уже сказал, буквы, цифры, всякие там знаки препинания, собачки ( @ ) и тд и тп, а специфичные — это что-то вроде û
Ç ╟↓ ∟ П ┬ и тд и тп.
Как Вы понимаете, использование специфичных символов значительно усложняет процесс взлома как методом подбора, так и методом использования кейлогеров (большинство из них не настроены на обработку и запись расширенных символов).
Все это чудесно, но Вы не знаете кое о чем, а именно о том, что помимо разных символов есть разные способы их ввода.
Еще немного подробностей и сама таблица ASCII
Точнее говоря, любую букву, цифру, знак препинания и тд и тп, тобишь любой символ можно ввести не просто вполне естественным образом (естественный способ для простого пользователя — это тычок пальчиком в соответствующую кнопку на клавиатуре), а еще и методом использования кнопки ALT и цифровой клавиатуры, а именно нажатие ALT+35 (где кнопка ALT зажата, а 35 вводится на цифрах (плюс жать не надо)) даст символ # .
Сочетание ALT+147 даст Вам букву У . Собственно, подобным образом можно вводить и специфичные символы, а именно, скажем ☺ — это нажатие ALT+1 , а ▀ — это ALT+1247 и тд и тп.
Думаю, чем такой способ ввода безопаснее объяснять не надо — выводы вполне логичны, а о том чем безопаснее добавлять в пароль расширенные символы я писал выше в скобочках.
Кстати о расширенных символах. Среди них есть такая вещь как неразрывный пробел- ALT+0160 . Он отображается как обычный пробел и зачастую может обмануть тех, кто каким-то образом подглядел Ваш пароль.
Даже, если Ваш пароль будет записан кейлогером, то в лог-файле он (неразрывный пароль) будет выглядеть, как обычный пробел, что собьет с толку взломщика особенно, если он ведать не ведает ни о каких специфичных символах и неразрывных пробелах, т.е., даже получив пароль он не сможет им воспользоваться.
Подводные камни при таком подходе
Они не такие страшные, но без них, к сожалению, никак.
- Как Вы понимаете создание пароля со специфичными символами или ввод его по средством ALT +цифры требует большего нажатий клавиш, что тоже требует запоминания в первую очередь Вами самими (т.е. пароль из 5 символов будет требовать, например, 25 нажатий клавиш ( ALT+1256, ALT+2341 и тд). Возможно проще было бы не заморачиваться и просто удлинить обычный пароль на несколько обычных символов. Это во-первых;
- Во-вторых, клавиатуры некоторых компьютеров (зачастую эта проблема наблюдается в ноутбуках) затрудняют ввод с цифровой клавиатуры;
- В-третьих, некоторые утилиты командной строки не поддерживают символы с большим ASCII -кодом. Например, вы можете использовать символ ALT+0127 в Windows , но не сможете набрать его в командной строке. И наоборот, коды некоторых символов, таких как Tabs ( ALT+0009 ) или ESC ( ALT+0027 ) могут быть использованы в cmd (командной строке), но совершенно никак не получится задействовать их в самой Windows .
Давайте перейдем к послесловию
Послесловие
Вот такие пироги про такую штуку как таблица ASCII и её использование для создания паролей (и не только).
Надеюсь, что эта статья Вам пригодится. Как и всегда, если есть какие-то вопросы, мысли, дополнения и всё такое прочее, то добро пожаловать в комментарии к этой статье.
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 пользователю не требуется. Разработчику программного обеспечения обычно достаточно знать номер элемента в таблице, чтобы при необходимости рассчитать его код, используя бинарную систему.
Русский язык
После разработки в начале 70-х годов кодировок для скандинавских языков, китайского, корейского, греческого и др., созданием собственного варианта занялся и Советский Союз. Вскоре был разработан вариант 8-битной кодировки под названием КОИ8, сохраняющей первые 128 кодов символов ASCII и выделяющей столько же позиций под буквы национального алфавита и дополнительные знаки.
До внедрения Юникода КОИ8 доминировала в российском сегменте интернета. Существовали варианты кодировки как для русского, так и для украинского алфавита.
Проблемы ASCII
Поскольку количество элементов даже в расширенной таблице не превышало 256, возможность вмещения в одну кодировку нескольких различных письменностей отсутствовала. В 90-е годы в Рунете появилась проблема «крокозябр», когда тексты, набранные русскими символами ASCII, отображались некорректно.
Проблема заключалась в несоответствии кодов различных вариантов ASCII друг другу. Вспомним, что на позициях 128-255 могли располагаться различные знаки, и при смене одной кириллической кодировки на другую все буквы текста заменялись на другие, имеющие идентичный номер в другой версии кодировки.
Текущее состояние
С появлением Юникода популярность ASCII резко пошла на убыль.
Причина этого кроется в том факте, что новая кодировка позволила вместить знаки почти всех письменных языков. При этом первые 128 символов ASCII соответствуют тем же символам в Юникоде.
Таким образом, ASCII является важной частью истории информационных технологий, однако её использование в дальнейшем видится малоперспективным.
Язык Си в примерах/ASCII-коды символов
Содержание
Решение [ править ]
Главный цикл этой программы напоминает таковой для рассмотренной в разделе Максимум; в частности, мы вновь используем цикл «пока» ( while ). [1] Однако, вместо scanf для чтения чисел, здесь мы обращаемся к функции getchar для чтения отдельных знаков (кодов.) [2] Мы по-прежнему используем printf — для вывода кода символа в десятичной записи. [3]
С другой стороны, из условия корректности ввода исключается требование возврата именно EOF (как признака исчерпания входного потока), поскольку это условие уже является условием завершения главного цикла. Это различие связано с тем, что в данной программе не требуется опозновать «подходящий» ввод — допустимой является совершенно любая последовательность символов (кодов.) Напротив, в предыдущей программе мы принимали исключительно целые числа в десятичной записи.
Требование ложности значения функции признака ошибки ferror для стандартного ввода ( stdin ) по завершению главного цикла остается в силе. [4]
Подчеркнем, что диапазон возвращаемых функцией getchar значений — это диапазон «символьного» типа char плюс одно значение, а именно — признак конца потока EOF . [2] Как следствие, иногда встречаемое в примерах кода чтение символа из потока непосредственно в переменную типа char не вполне корректно — для этих целей следует всегда использовать переменную типа int .
Обратите внимание, что сформировать условие «конец потока» при вводе с клавиатуры можно вводом (в зависимости от системы и предполагая настройки по-умолчанию) Control-d или Control-z (также обозначаются C-d , ^D , C-z , ^Z .)
Вывести символы таблицы ASCII
от 0 до 255 выводит такую требуху:
0-й символ таблицы ASCII:
1-й символ таблицы ASCII: ☺
2-й символ таблицы ASCII: ☻
3-й символ таблицы ASCII: ♥
4-й символ таблицы ASCII: ♦
5-й символ таблицы ASCII: ♣
6-й символ таблицы ASCII: ♠
7-й символ таблицы ASCII:
8-й символ таблицы ASCII:
9-й символ таблицы ASCII:
10-й символ таблицы ASCII:
11-й символ таблицы ASCII: ♂
12-й символ таблицы ASCII: ♀
13-й символ таблицы ASCII:
14-й символ таблицы ASCII: ♫
15-й символ таблицы ASCII: ☼
16-й символ таблицы ASCII: ►
17-й символ таблицы ASCII: ◄
18-й символ таблицы ASCII: ↕
19-й символ таблицы ASCII: ‼
20-й символ таблицы ASCII: ¶
21-й символ таблицы ASCII: §
22-й символ таблицы ASCII: ▬
23-й символ таблицы ASCII: ↨
24-й символ таблицы ASCII: ↑
25-й символ таблицы ASCII: ↓
26-й символ таблицы ASCII: →
27-й символ таблицы ASCII: ←
28-й символ таблицы ASCII: ∟
29-й символ таблицы ASCII: ↔
30-й символ таблицы ASCII: ▲
31-й символ таблицы ASCII: ▼
32-й символ таблицы ASCII:
33-й символ таблицы ASCII: !
34-й символ таблицы ASCII: »
35-й символ таблицы ASCII: #
36-й символ таблицы ASCII: $
37-й символ таблицы ASCII: %
38-й символ таблицы ASCII: &
39-й символ таблицы ASCII: ‘
40-й символ таблицы ASCII: (
41-й символ таблицы ASCII: )
42-й символ таблицы ASCII: *
43-й символ таблицы ASCII: +
44-й символ таблицы ASCII: ,
45-й символ таблицы ASCII: —
46-й символ таблицы ASCII: .
47-й символ таблицы ASCII: /
48-й символ таблицы ASCII: 0
49-й символ таблицы ASCII: 1
50-й символ таблицы ASCII: 2
51-й символ таблицы ASCII: 3
52-й символ таблицы ASCII: 4
53-й символ таблицы ASCII: 5
54-й символ таблицы ASCII: 6
55-й символ таблицы ASCII: 7
56-й символ таблицы ASCII: 8
57-й символ таблицы ASCII: 9
58-й символ таблицы ASCII: :
59-й символ таблицы ASCII: ;
60-й символ таблицы ASCII:
63-й символ таблицы ASCII: ?
64-й символ таблицы ASCII: @
65-й символ таблицы ASCII: A
66-й символ таблицы ASCII: B
67-й символ таблицы ASCII: C
68-й символ таблицы ASCII: D
69-й символ таблицы ASCII: E
70-й символ таблицы ASCII: F
71-й символ таблицы ASCII: G
72-й символ таблицы ASCII: H
73-й символ таблицы ASCII: I
74-й символ таблицы ASCII: J
75-й символ таблицы ASCII: K
76-й символ таблицы ASCII: L
77-й символ таблицы ASCII: M
78-й символ таблицы ASCII: N
79-й символ таблицы ASCII: O
80-й символ таблицы ASCII: P
81-й символ таблицы ASCII: Q
82-й символ таблицы ASCII: R
83-й символ таблицы ASCII: S
84-й символ таблицы ASCII: T
85-й символ таблицы ASCII: U
86-й символ таблицы ASCII: V
87-й символ таблицы ASCII: W
88-й символ таблицы ASCII: X
89-й символ таблицы ASCII: Y
90-й символ таблицы ASCII: Z
91-й символ таблицы ASCII: [
92-й символ таблицы ASCII: \
93-й символ таблицы ASCII: ]
94-й символ таблицы ASCII: ^
95-й символ таблицы ASCII: _
96-й символ таблицы ASCII: `
97-й символ таблицы ASCII: a
98-й символ таблицы ASCII: b
99-й символ таблицы ASCII: c
100-й символ таблицы ASCII: d
101-й символ таблицы ASCII: e
102-й символ таблицы ASCII: f
103-й символ таблицы ASCII: g
104-й символ таблицы ASCII: h
105-й символ таблицы ASCII: i
106-й символ таблицы ASCII: j
107-й символ таблицы ASCII: k
108-й символ таблицы ASCII: l
109-й символ таблицы ASCII: m
110-й символ таблицы ASCII: n
111-й символ таблицы ASCII: o
112-й символ таблицы ASCII: p
113-й символ таблицы ASCII: q
114-й символ таблицы ASCII: r
115-й символ таблицы ASCII: s
116-й символ таблицы ASCII: t
117-й символ таблицы ASCII: u
118-й символ таблицы ASCII: v
119-й символ таблицы ASCII: w
120-й символ таблицы ASCII: x
121-й символ таблицы ASCII: y
122-й символ таблицы ASCII: z
123-й символ таблицы ASCII: <
124-й символ таблицы ASCII: |
125-й символ таблицы ASCII: >
126-й символ таблицы ASCII:
127-й символ таблицы ASCII: ⌂
128-й символ таблицы ASCII: ?
129-й символ таблицы ASCII: ?
130-й символ таблицы ASCII: ?
131-й символ таблицы ASCII: ?
132-й символ таблицы ASCII: ?
133-й символ таблицы ASCII: ?
134-й символ таблицы ASCII: ?
135-й символ таблицы ASCII: ?
136-й символ таблицы ASCII: ?
137-й символ таблицы ASCII: ?
138-й символ таблицы ASCII: ?
139-й символ таблицы ASCII: ?
140-й символ таблицы ASCII: ?
141-й символ таблицы ASCII: ?
142-й символ таблицы ASCII: ?
143-й символ таблицы ASCII: ?
144-й символ таблицы ASCII: ?
145-й символ таблицы ASCII: ?
146-й символ таблицы ASCII: ?
147-й символ таблицы ASCII: ?
148-й символ таблицы ASCII: ?
149-й символ таблицы ASCII: ?
150-й символ таблицы ASCII: ?
151-й символ таблицы ASCII: ?
152-й символ таблицы ASCII: ?
153-й символ таблицы ASCII: ?
154-й символ таблицы ASCII: ?
155-й символ таблицы ASCII: ?
156-й символ таблицы ASCII: ?
157-й символ таблицы ASCII: ?
158-й символ таблицы ASCII: ?
159-й символ таблицы ASCII: ?
160-й символ таблицы ASCII: *
161-й символ таблицы ASCII: ?
162-й символ таблицы ASCII: ?
163-й символ таблицы ASCII: ?
164-й символ таблицы ASCII: ¤
165-й символ таблицы ASCII: ?
166-й символ таблицы ASCII: │
167-й символ таблицы ASCII: §
168-й символ таблицы ASCII: ?
169-й символ таблицы ASCII: c
170-й символ таблицы ASCII: ?
171-й символ таблицы ASCII:
188-й символ таблицы ASCII: ?
189-й символ таблицы ASCII: ?
190-й символ таблицы ASCII: ?
191-й символ таблицы ASCII: ?
192-й символ таблицы ASCII: A
193-й символ таблицы ASCII: A
194-й символ таблицы ASCII: A
195-й символ таблицы ASCII: A
196-й символ таблицы ASCII: A
197-й символ таблицы ASCII: A
198-й символ таблицы ASCII: ?
199-й символ таблицы ASCII: C
200-й символ таблицы ASCII: E
201-й символ таблицы ASCII: E
202-й символ таблицы ASCII: E
203-й символ таблицы ASCII: E
204-й символ таблицы ASCII: I
205-й символ таблицы ASCII: I
206-й символ таблицы ASCII: I
207-й символ таблицы ASCII: I
208-й символ таблицы ASCII: ?
209-й символ таблицы ASCII: N
210-й символ таблицы ASCII: O
211-й символ таблицы ASCII: O
212-й символ таблицы ASCII: O
213-й символ таблицы ASCII: O
214-й символ таблицы ASCII: O
215-й символ таблицы ASCII: ?
216-й символ таблицы ASCII: O
217-й символ таблицы ASCII: U
218-й символ таблицы ASCII: U
219-й символ таблицы ASCII: U
220-й символ таблицы ASCII: U
221-й символ таблицы ASCII: Y
222-й символ таблицы ASCII: ?
223-й символ таблицы ASCII: ?
224-й символ таблицы ASCII: a
225-й символ таблицы ASCII: a
226-й символ таблицы ASCII: a
227-й символ таблицы ASCII: a
228-й символ таблицы ASCII: a
229-й символ таблицы ASCII: a
230-й символ таблицы ASCII: ?
231-й символ таблицы ASCII: c
232-й символ таблицы ASCII: e
233-й символ таблицы ASCII: e
234-й символ таблицы ASCII: e
235-й символ таблицы ASCII: e
236-й символ таблицы ASCII: i
237-й символ таблицы ASCII: i
238-й символ таблицы ASCII: i
239-й символ таблицы ASCII: i
240-й символ таблицы ASCII: ?
241-й символ таблицы ASCII: n
242-й символ таблицы ASCII: o
243-й символ таблицы ASCII: o
244-й символ таблицы ASCII: o
245-й символ таблицы ASCII: o
246-й символ таблицы ASCII: o
247-й символ таблицы ASCII: ?
248-й символ таблицы ASCII: o
249-й символ таблицы ASCII: u
250-й символ таблицы ASCII: u
251-й символ таблицы ASCII: u
252-й символ таблицы ASCII: u
253-й символ таблицы ASCII: y
254-й символ таблицы ASCII: ?
255-й символ таблицы ASCII: y
Сначала всё вроде бы даже не плохо, но под конец чушь. Почему? Консоль любит только US-ASCII?
Как исправить ситуацию?
ASCII в символы?
Здравствуйте! Столкнулся с такой проблемой, сейчас занят написание лаб. работы по хэш таблицам.
Все символы нужнo перевести в ASCII
Доброго времени суток, у меня такая проблема, не могу сделать программу такого типа вот задание.
Как удалить ASCII символы из строки
Есть строка, из нее нужно удалить ASCII символы, подскажите как это сделать?
Получить символы из байтов в кодировке ASCII (DOS)
Доброго времени суток. Имею файл (в приложении изображение), хотел из него извлечь имя параметра.
Как заставить компьютер проверять символы по ASCII коду?
int index = listBox1.SelectedIndex; string str = (string)listBox1.Items; .
Кодирование символов
Кодировка символов (часто называемая также кодовой страницей ) – это набор числовых значений, которые ставятся в соответствие группе алфавитно-цифровых символов, знаков пунктуации и специальных символов.
Для кодировки символов в Windows используется таблица ASCII (American Standard Code for Interchange of Information).
В ASCII первые 128 символов всех кодовых страниц состоят из базовой таблицы символов. Первые 32 кода базовой таблицы, начиная с нулевого, размещают управляющие коды.
Символ | Код | Клавиши | Значение |
nul | Ctrl + @ | Нуль | |
soh | 1 | Ctrl + A | Начало заголовка |
stx | 2 | Ctrl + B | Начало текста |
etx | 3 | Ctrl + C | Конец текста |
eot | 4 | Ctrl + D | Конец передачи |
enq | 5 | Ctrl + E | Запрос |
ack | 6 | Ctrl + F | Подтверждение |
bel | 7 | Ctrl + G | Сигнал (звонок) |
bs | 8 | Ctrl + H | Забой (шаг назад) |
ht | 9 | Ctrl + I | Горизонтальная табуляция |
lf | 10 | Ctrl + J | Перевод строки |
vt | 11 | Ctrl + K | Вертикальная табуляция |
ff | 12 | Ctrl + L | Новая страница |
cr | 13 | Ctrl + M | Возврат каретки |
so | 14 | Ctrl + N | Выключить сдвиг |
si | 15 | Ctrl + O | Включить сдвиг |
dle | 16 | Ctrl + P | Ключ связи данных |
dc1 | 17 | Ctrl + Q | Управление устройством 1 |
dc2 | 18 | Ctrl + R | Управление устройством 2 |
dc3 | 19 | Ctrl + S | Управление устройством 3 |
dc4 | 20 | Ctrl + T | Управление устройством 4 |
nak | 21 | Ctrl + U | Отрицательное подтверждение |
syn | 22 | Ctrl + V | Синхронизация |
etb | 23 | Ctrl + W | Конец передаваемого блока |
can | 24 | Ctrl + X | Отказ |
em | 25 | Ctrl + Y | Конец среды |
sub | 26 | Ctrl + Z | Замена |
esc | 27 | Ctrl + [ | Ключ |
fs | 28 | Ctrl + \ | Разделитель файлов |
gs | 29 | Ctrl + ] | Разделитель группы |
rs | 30 | Ctrl + ^ | Разделитель записей |
us | 31 | Ctrl + _ | Разделитель модулей |
Базовая таблица кодировки 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 | 78 N | 94 ^ | 110 n | 126 |
Символы с номерами от 128 до 255 представляют собой таблицу расширения и варьируются в зависимости от набора скриптов, представленных кодировкой символов. Набор символов таблицы расширения различается в зависимости от выбранной кодовой страницы:
1251 – кодовая страница Windows
128 Ђ | 144 Ђ | 160 | 176 ° | 192 А | 208 Р | 224 а | 240 р |
129 Ѓ | 145 ‘ | 161 Ў | 177 ± | 193 Б | 209 С | 225 б | 241 с |
130 ‚ | 146 ’ | 162 ў | 178 I | 194 В | 210 Т | 226 в | 242 т |
131 ѓ | 147 “ | 163 J | 179 i | 195 Г | 211 У | 227 г | 243 у |
132 „ | 148 ” | 164 ¤ | 180 ґ | 196 Д | 212 Ф | 228 д | 244 ф |
133 … | 149 • | 165 Ґ | 181 μ | 197 Е | 213 Х | 229 е | 245 х |
134 † | 150 – | 166 ¦ | 182 ¶ | 198 Ж | 214 Ц | 230 ж | 246 ц |
135 ‡ | 151 — | 167 § | 183 · | 199 З | 215 Ч | 231 з | 247 ч |
136 € | 152 □ | 168 Ё | 184 ё | 200 И | 216 Ш | 232 и | 248 ш |
137 ‰ | 153 ™ | 169 © | 185 № | 201 Й | 217 Щ | 233 й | 249 щ |
138 Љ | 154 љ | 170 Є | 186 є | 202 К | 218 Ъ | 234 к | 250 ъ |
139 | 171 « | 187 » | 203 Л | 219 Ы | 235 л | 251 ы | |
140 Њ | 156 њ | 172 ¬ | 188 j | 204 М | 220 Ь | 236 м | 252 ь |
141 Ќ | 157 ќ | 173 | 189 S | 205 Н | 221 Э | 237 н | 253 э |
142 Ћ | 158 ћ | 174 ® | 190 s | 206 О | 222 Ю | 238 о | 254 ю |
143 Џ | 159 џ | 175 Ï | 191 ї | 207 П | 223 Я | 239 п | 255 я |
866 – кодовая страница DOS
128 А | 144 Р | 160 а | 176 ░ | 192 └ | 208 ╨ | 224 р | 240 ≡Ё |
129 Б | 145 С | 161 б | 177 ▒ | 193 ┴ | 209 ╤ | 225 с | 241 ±ё |
130 В | 146 Т | 162 в | 178 ▓ | 194 ┬ | 210 ╥ | 226 т | 242 ≥ |
131 Г | 147 У | 163 г | 179 │ | 195 ├ | 211 ╙ | 227 у | 243 ≤ |
132 Д | 148 Ф | 164 д | 180 ┤ | 196 ─ | 212 ╘ | 228 ф | 244 ⌠ |
133 Е | 149 Х | 165 е | 181 ╡ | 197 ┼ | 213 ╒ | 229 х | 245 ⌡ |
134 Ж | 150 Ц | 166 ж | 182 ╢ | 198 ╞ | 214 ╓ | 230 ц | 246 ¸ |
135 З | 151 Ч | 167 з | 183 ╖ | 199 ╟ | 215 ╫ | 231 ч | 247 » |
136 И | 152 Ш | 168 и | 184 ╕ | 200 ╚ | 216 ╪ | 232 ш | 248 ° |
137 Й | 153 Щ | 169 й | 185 ╣ | 201 ╔ | 217 ┘ | 233 щ | 249 · |
138 К | 154 Ъ | 170 к | 186 ║ | 202 ╩ | 218 ┌ | 234 ъ | 250 ∙ |
139 Л | 155 Ы | 171 л | 187 ╗ | 203 ╦ | 219 █ | 235 ы | 251 √ |
140 М | 156 Ь | 172 м | 188 ╝ | 204 ╠ | 220 ▄ | 236 ь | 252 ⁿ |
141 Н | 157 Э | 173 н | 189 ╜ | 205 ═ | 221 ▌ | 237 э | 253 ² |
142 О | 158 Ю | 174 о | 190 ╛ | 206 ╬ | 222 ▐ | 238 ю | 254 ■ |
143 П | 159 Я | 175 п | 191 ┐ | 207 ╧ | 223 ▀ | 239 я | 255 |
Русские названия основных спецсимволов:
Символ | Название |
` | гравис, кавычка, обратный машинописный апостроф |
` | гравис, кавычка, обратный машинописный апостроф |
тильда | |
! | восклицательный знак |
@ | эт, коммерческое эт, «собака» |
# | октоторп, решетка, диез |
$ | знак доллара |
% | процент |
^ | циркумфлекс, знак вставки |
& | амперсанд |
* | астериск, звездочка, знак умножения |
( | левая открывающая круглая скобка |
) | правая закрывающая круглая скобка |
— | минус, дефис |
_ | знак подчеркивания |
= | знак равенства |
+ | плюс |
[ | левая открывающая квадратная скобка |
] | правая закрывающая квадратная скобка |
< | левая открывающая фигурная скобка |
> | правая закрывающая фигурная скобка |
; | точка с запятой |
: | двоеточие |
‘ | машинописный апостроф, одинарная кавычка |
« | двойная кавычка |
, | запятая |
. | точка |
/ | слэш, косая черта, знак дроби |
правая закрытая угловая скобка, знак больше | |
\ | обратный слэш, обратная косая черта |
| | вертикальная черта |
Кодировка UNICODE
Юникод (Unicode) — стандарт кодирования символов, позволяющий представить знаки практически всех письменных языков. Стандарт предложен в 1991 году некоммерческой организацией «Консорциум Юникода».
В Unicode используются 16-битовые (2-байтовые) коды, что позволяет представить 65536 символов.
Применение стандарта Unicode позволяет закодировать очень большое число символов из разных письменностей: в документах Unicode могут соседствовать китайские иероглифы, математические символы, буквы греческого алфавита, латиницы и кириллицы, при этом становится ненужным переключение кодовых страниц.
Для представления символьных данных в кодировке Unicode используется символьный тип wchar_t .
ASCII | UNICODE |
char | wchar_t |
1 байт | 2 байта |
Тип кодировки задается в свойствах проекта Microsoft Visual Studio:
Многобайтовая кодировка предполагает использование кодировки ASCII.
При этом при построении проекта используется директива условной компиляции, переопределяющая тип TCHAR :
Для перекодирования строки в формат Unicode без изменения кодировки файла используется макроопределение
_T(«строка»)
Прототип макроса содержится в файле tchar.h .
Кодировка ASCII
Материал для самостоятельного изучения по теме Лекции 2
Кодировочная таблица ASCII (ASCII — American Standard Code for Information Interchange — Американский стандартный код для обмена информацией).
Всего с помощью таблицы кодирования ASCII (рисунок 1) можно закодировать 256 различных символов. Эта таблица разделена на две части: основную (с кодами от OOh до 7Fh) и дополнительную (от 80h до FFh, где буква h обозначает принадлежность кода к шестнадцатеричной системе счисления).
Для кодировки одного символа из таблицы отводится 8 бит (1 байт). При обработке текстовой информации один байт может содержать код некоторого символа — буквы, цифры, знака пунктуации, знака действия и т.д. Каждому символу соответствует свой код в виде целого числа. При этом все коды собираются в специальные таблицы, называемые кодировочными. С их помощью производится преобразование кода символа в его видимое представление на экране монитора. В результате любой текст в памяти компьютера представляется как последовательность байтов с кодами символов.
Например, слово hello! будет закодировано следующим образом (таблица 1).
Символ | h | e | I | I | o | ! |
Код двоичный | ||||||
Код десятичный |
На рисунке 1 представлены символы, входящие в стандартную (английскую) и расширенную (русскую) кодировку ASCII.
Первая половина таблицы ASCII стандартизована. Она содержит управляющие коды (от 00h до 20h и 77h). Эти коды из таблицы изъяты, так как они не относятся к текстовым элементам. Здесь же размещаются знаки пунктуации и математические знаки: 2lh — !, 26h — &, 28h — (, 2Bh -+. большие и малые латинские буквы: 41h — A, 61h – а.
Вторая половина таблицы содержит национальные шрифты, символы псевдографики, из которых могут быть построены таблицы, специальные математические знаки. Нижнюю часть таблицы кодировок можно заменять, используя соответствующие драйверы — управляющие вспомогательные программы. Этот прием позволяет применять несколько шрифтов и их гарнитур.
Дисплей по каждому коду символа должен вывести на экран изображение символа – не просто цифровой код, а соответствующую ему картинку, так как каждый символ имеет свою форму. Описание формы каждого символа хранится в специальной памяти дисплея — знакогенераторе. Высвечивание символа на экране дисплея IBМ PC, например, осуществляется с помощью точек, образующих символьную матрицу. Каждый пиксел в такой матрице является элементом изображения и может быть ярким или темным. Темная точка кодируется цифрой 0, светлая (яркая)- 1. Если изображать в матричном поле знака темные пикселы точкой, а светлые — звездочкой, то можно графически изобразить форму символа.
Люди в разных странах используют символы для записи слов их родных зыков. В наши дни большинство приложений, включая системы электронной почты и вэб-браузеры, являются чисто 8-битными, то есть они могут показывать и корректно воспринимать лишь 8-битные символы, согласно стандарту ISO-8859-1.
Существует более 256 символов в мире (если учесть кириллицу, арабский, китайский, японский, корейский и тайский языки), а также появляются все новые и новые символы. И это создает следующие пробелы для многих пользователей:
Невозможно использовать символы различных наборов кодировок в одном и том же документе. Так как каждый текстовый документ использует свой собственный набор кодировок, то возникают большие трудности с автоматическим распознаванием текста.
Появляются новые символы (например: Евро), вследствие чего ISO разрабатывает новый стандарт ISO-8859-15, который весьма схож со стандартом ISO-8859-1. Разница состоит в следующем: из таблицы кодировки старого стандарта ISO-8859-1 были убраны символы обозначения старых валют, которые не используются в настоящее время, для того, чтобы освободить место под вновь появившиеся символы (такие, как Евро). В результате у пользователей на дисках могут лежать одни и те же документы, но в разных кодировках. Решением этих проблем является принятие единого международного набора кодировок, который называется универсальным кодированием или Unicode.
Не нашли то, что искали? Воспользуйтесь поиском:
Лучшие изречения: При сдаче лабораторной работы, студент делает вид, что все знает; преподаватель делает вид, что верит ему. 9336 — | 7293 — или читать все.
188.64.174.135 © studopedia.ru Не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования. Есть нарушение авторского права? Напишите нам | Обратная связь.
Отключите adBlock!
и обновите страницу (F5)
очень нужно