Вспомогательные (технологические) команды
Код | Описание | Пример |
---|---|---|
M00 | Приостановить работу станка до нажатия кнопки «старт» на пульте управления, так называемый «безусловный технологический останов» | G0 X0 Y0 Z100 M0 |
M01 | Приостановить работу станка до нажатия кнопки «старт», если включён режим подтверждения останова | G0 X0 Y0 Z100 M1 |
M02 | Конец программы, без сброса модальных функций | M02 |
M03 | Начать вращение шпинделя по часовой стрелке | M3 S2000 |
M04 | Начать вращение шпинделя против часовой стрелки | M4 S2000 |
M05 | Остановить вращение шпинделя | M5 |
M06 | Сменить инструмент | T15 M6 |
M07 | Включить дополнительное охлаждение | M3 S2000 M7 |
M08 | Включить основное охлаждение. Иногда использование более одного M-кода в одной строке (как в примере) недопустимо, для этого используются M13 и M14 | M3 S2000 M8 |
M09 | Выключить охлаждение | G0 X0 Y0 Z100 M5 M9 |
M13 | Включить охлаждение и вращение шпинделя по часовой стрелке | S2000 M13 |
M14 | Включить охлаждение и вращение шпинделя против часовой стрелки | S2000 M14 |
M17 | Конец подпрограммы | M17 |
M25 | Замена инструмента вручную | M25 |
M97 | Запуск подпрограммы, находящейся в той же программе (где P — номер кадра, в случае примера переход осуществится к строке N25), действует не везде, предположительно — только на станках HAAS | M97 P25 |
M98 | Запуск подпрограммы, находящейся отдельно от основной программы (где P — номер подпрограммы, в случае примера переход осуществится к программе O1015) | M98 P1015 |
M99 | Конец подпрограммы | M99 |
M30 | Конец программы, со сбросом модальных функций | M30 |
не больше одного кода в кадре
Параметры команд
Параметры команд задаются буквами латинского алфавита
Код | Описание | Пример |
---|---|---|
X | Координата точки траектории по оси X | G0 X100 Y0 Z0 |
Y | Координата точки траектории по оси Y | G0 X0 Y100 Z0 |
Z | Координата точки траектории по оси Z | G0 X0 Y0 Z100 |
P | Параметр команды | G04 P101 |
F |
Скорость рабочей подачи.
Для фрезерных станков это дюймы в минуту (IPM) или миллиметры в минуту (mm/min), Для токарных станков это дюймы за оборот (IPR) или миллиметры за оборот (mm/rev). |
G1 G91 X10 F100 |
S | Скорость вращения шпинделя | S3000 M3 |
R | Параметр стандартного цикла или радиус дуги (расширение стандарта) | G81 R1 0 R2 −10 F50 или G2 G91 X12.5 R12.5 |
D | Параметр коррекции выбранного инструмента | G1 G41 D1 X10. F150. |
L | Число вызовов подпрограммы | M98 L82 P10 или G65 L82 P10 X_Y_R_ |
I | Параметр дуги при круговой интерполяции. Инкрементальное расстояние от начальной точки до центра дуги по оси X. | G03 X10 Y10 I0 J0 F10 |
J | Параметр дуги при круговой интерполяции. Инкрементальное расстояние от начальной точки до центра дуги по оси Y. | G03 X10 Y10 I0 J0 F10 |
K | Параметр дуги при круговой интерполяции. Инкрементальное расстояние от начальной точки до центра дуги по оси Z. | G03 X10 Y10 I0 K0 F10 |
L | Вызов подпрограммы с данной меткой |
Для чего нужны альт коды
Вот, допустим, вы пишете какую-нибудь работу, скажем, по физике, и вам необходимо написать «60 градусов по Цельсию». Если вы пишите в MS Word, то символ градуса Цельсия вы всегда сможете найти в спецсимволах. Но не все знают, как это сделать. Да и к тому же, поиски некоторых редких символов могут отнять достаточно много времени.
Уверяю вас, когда вы научитесь пользоваться альт кодами, то у вас вставка градуса Цельсия займет не более пары секунд.
Еще распространенная ситуация – это когда дефис упорно не хочет автоматически превращаться в тире (удлиняться). Проблему с тире тоже вам помогут решить Alt коды.
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, стереть последний символ. |
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 < | 155 > | 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:
#ifdef _UNICODE typedef wchar_t TCHAR;#else typedef char TCHAR;#endif
_T(«строка»)tchar.hПредставление данных и архитектура ЭВМ
Базовая таблица кодировки 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, выводом программы окажется (где 10 — управляющий код разрыва строки.)
Введите строку . В зависимости от системы и ее настроек (так называемой локали), вывод может содержать 8 (при использовании однобайтных кириллических кодировок) или 14 кодов (UTF-8).
Изучите коды, формируемые такими клавишами и сочетаниями, как ESC, F5, ↑, Alt-x, Control-r.
Исследуйте работу программы на «нетекстовых» потоках небольшого (до примерно 500 байт) объема — изображениях (, ), упакованных файлах (, ) и др. Попробуйте установить закономерности
(Указание: обратите внимание на значения первых пяти—десяти кодов.)
вариант программы разрывает () выходные строки по границам входных. Реализуйте также разрыв выходных строк по достижению определенного количества выведенных в одной строке кодов (например, каждые 16.)
Разработайте варианты программы, выводящие считанные коды в шестнадцатиричном и восьмеричном представлениях
(Указание: воспользуйтесь материалом раздела Скалярные типы.)
Напишите программу, которая печатает все символы и их ASCII-коды.
Попробуйте напечатать как символ число больше 255. Что получается?
Ознакомьтесь с описанием программы в стандарте POSIX и в документации к пакету GNU Coreutils.
Стандарт ASCII
ASCII (American Standart Code for Inmormation Interchange) — американский стандартный код для обмена информацией. Каждый символ ASCII имеет 7 битов, поэтому максимальное число символов — 128 (таблица 1). Коды от 0 до 1F являются управляющими символами, которые не печатаются. Множество непечатных символов ASCII нужны для передачи данных. К примеру послание может состоять из символа начала заголовка SOH, самого заголовка и символа начала текста STX, самого текста и символа конца текста ETX, и символ конца передачи EOT. Однако данные по сети передаются в пакетах, которые сами отвечают за начало передачи и конец. Так что непечатные символы почти не используются.
Таблица 1 — таблица кодов ASCII
Число | Команда | Значение | Число | Команда | Значение |
---|---|---|---|---|---|
NUL | Пустой указатель | 10 | DLE | Выход из системы передачи | |
1 | SOH | начало заголовка | 11 | DC1 | Управление устройством |
2 | STX | Начало текста | 12 | DC2 | Управление устройством |
3 | ETX | Конец текста | 13 | DC3 | Управление устройством |
4 | EOT | Конец передачи | 14 | DC4 | Управление устройством |
5 | ACK | Запрос | 15 | NAK | Неподтверждение приема |
6 | BEL | Подтверждение приема | 16 | SYN | Простой |
7 | BS | Символ звонка | 17 | ETB | Конец блока передачи |
8 | HT | Отступ назад | 18 | CAN | Отмета |
9 | LF | Горизонтальная табуляция | 19 | EM | Конец носителя |
A | VT | Перевод строки | 1A | SUB | Подстрочный индекс |
B | FF | Вертикальная табуляция | 1B | ESC | Выход |
C | CR | Перевод страницы | 1C | FS | Разделитель файлов |
D | SO | Возврат каретки | 1D | GS | Разделитель группы |
E | SI | Переключение на дополнительный регистр | 1E | RS | Разделитель записи |
SI | Переключение на стандартный регистр | 1F | US | Разделитель модуля |
Число | Символ | Число | Символ | Число | Символ | Число | Символ | Число | Символ | Число | Символ |
---|---|---|---|---|---|---|---|---|---|---|---|
20 | пробел | 30 | 40 | @ | 50 | P | 60 | . | 70 | p | |
21 | ! | 31 | 1 | 41 | A | 51 | Q | 61 | a | 71 | q |
22 | ‘ | 32 | 2 | 42 | B | 52 | R | 62 | b | 72 | r |
23 | # | 33 | 3 | 43 | C | 53 | S | 63 | c | 73 | s |
24 | φ | 34 | 4 | 44 | D | 54 | T | 64 | d | 74 | t |
25 | % | 35 | 5 | 45 | E | 55 | И | 65 | e | 75 | и |
26 | & | 36 | 6 | 46 | F | 56 | V | 66 | f | 76 | v |
27 | ‘ | 37 | 7 | 47 | G | 57 | W | 67 | g | 77 | w |
28 | ( | 38 | 8 | 48 | H | 58 | X | 68 | h | 78 | x |
29 | ) | 39 | 9 | 49 | I | 59 | Y | 69 | i | 70 | y |
2A | ‘ | 3A | ; | 4A | J | 5A | Z | 6A | j | 7A | z |
2B | + | 3B | ; | 4B | K | 5B | 6B | k | 7B | { | |
2C | ‘ | 3C | < | 4C | L | 5C | \ | 6C | l | 7C | | |
2D | — | 3D | = | 4D | M | 5D | 6D | m | 7D | } | |
2E | 3E | > | 4E | N | 5E | — | 6E | n | 7E | ~ | |
2F | 3F | g | 4F | O | 5F | _ | 6F | o | 7F | DEL |
Что это такое?
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.
Конечно, все необходимые коды требует более длительного и обстоятельного изучения, но это выходит за пределы нашей сегодняшней статьи. Надеюсь, что она оказалась для Вас действительно полезной.
До новых встреч!
Виталий Черкасовавтор
Строки в языке C++
Текстовая строка — это последовательность символов. Поскольку символы в строке пронумерованы,
то естественным представлением для строки был бы массив символов. Так строки и представлялись в языке
C — строкой считался массив символов, а для обозначения конца строки использовался символ с ASCII-кодом
0, что позволяло хранить строки переменной длины (то есть в массиве можно было
хранить строки любой длины, не превосходящей . Такой способ хранения строк порождал
ряд неудобств: любая строка была ограничена по длине размером массива, а чтобы вычислить длину строки
необходимо было пройти по всей строке до появления нулевого символа, то есть определение длины строки
требует количество операций, пропорциональное этой длине.
В языке C++ для представления строк существует более совершенный тип данных ,
в основе которого лежит такой же массив символов, завершающийся нулевым символом, но содержащий еще ряд
дополнительных возможностей. Для работы со строками языка C++ необходимо в начале программы подключить
описание типа , которое находится в одноименном файле:
#include <string>
Переменная для хранения строковых данных объявляется так:
string S;
Присвоить строковой переменной некоторое константное значение можно так:
S = "Hello, world!";
С записью строк в тексте программы в кавычках мы уже встречались, когда
выводили текст в поток
Обратите внимание — константы типа
записываются в одинарных кавычках, а строки — в двойных кавычках.
В частности, — это символ, а — это строка,
состоящая из одного символа. Поэтому переменной типа нельзя присвоить
значение , поскольку они имеют несовместимые типы данных
По сути, переменная типа является массивом символов и с
каждым символом этой строки можно работать по-отдельности, обращаясь к ним по индексу,
как к элементам массива. Например:
cout << S; // Будет выведен символ H S = 'h'; // Изменили первый символ в строке cout << S; // Будет выведено hello, world!
Для определения длины строки есть метод , применяемый к строке.
Он возвращает целое число — количество символов в строке. Его можно использовать так:
string S; cin >> S; cout << "Вы ввели слово " << S << " в котором " << S.size() << " символов" << endl;
Для начала нам понадобится две операции над строками: сложение двух строк
и изменение размера строки.
Основная операция над строками — сложение: например, при
сложении строк и
получится строка .
Такая операция над строками называется конкатенацией.
Вот пример использования конкатенации строк:
string S, S1, S2; // Объявление трех строк cout << "Who are you? "; cin >> S1; // Считали строку S1 S2 = "Hello, " // Присвоили строке значение S = S2 + S1; // Использование конкатенации cout << S << endl; // Вывод строки на экран cout << S.size(); // Длина строки S
Другая операция — изменение размера строки. Для этого существует метод
, который применяется к строке. У метода
есть две формы записи: с одним и с двумя параметрами. Если он вызывается с одним
параметром, то этот параметр задает новую длину строки. Например, так:
string S = "abcdefg" S.resize(3); cout << S << endl; // Будет выведено abc
Второй параметр метода задает символ, которым будут заполнены
символы в строке, если размер строки увеличивается в результате изменения размера.
Например:
string S = "abc" S.resize(6, 'd'); cout << S << endl; // Будет выведено abcddd
При считывании строк из входного потока считываются все символы,
кроме символов–разделителей (пробелов, табуляций и новых строк),
которые являются границами между строками. Например, если при выполнении
следующей программы
string S1, S2, S3; // объявили 3 строки cin>>S1>>S2>>S3;
ввести текст ‘Мама мыла раму’ (с произвольным количеством пробелов между словами),
то в массив будет записана строка , в — ,
в — .
Таким образом, организовать считывание всего файла по словам, можно следующим образом:
string s; while (cin >> s) // Цикл пока считывание успешно { // Делаем необходимые действия }
Если нужно считать строку со всеми пробелами, то необходимо использовать функцию следующим образом:
string S; getline(cin, S);
В данном случае если запустить эту программу и ввести строку , то именно это значение и будет
присвоено строке . Считать же весь входной поток по строкам можно при помощи следующего кода:
string s; while (getline(cin, S)) // Цикл пока считывание успешно { // Делаем необходимые действия }
Цветовое пространство RGB
RGB цветового пространства или цветовая система RGB , создает все цвета из комбинации R Е.Д., G Reen и B LUE цвета.
Красный, зеленый и синий используют по 8 бит каждый, которые имеют целочисленные значения от 0 до 255. Это дает 256 * 256 * 256 = 16777216 возможных цветов.
RGB ≡ красный, зеленый, синий
Таким образом, каждый пиксель на светодиодном мониторе отображает цвета за счет комбинации красного, зеленого и синего светодиодов (светоизлучающих диодов).
Когда красный пиксель установлен на 0, светодиод выключен. Когда красный пиксель установлен на 255, светодиод будет полностью включен.
Любое значение между ними устанавливает частичное излучение светодиода.