Например, запись без пробелов:
int i = j //*деление на k*/k
+m;
будет распознана неправильно, как int i = j + m; (как имеющая однострочный комментарий),
Запись с пробелами:
int i = j / /*деление на k*/ k
+m;
будет распознана правильно, как int i = j / j / k+m; (как имеющая многострочный комментарий).
Комментарии не могут быть вложенными, т.к. в тексте однострочного комментария символы многострочного комментария /* игнорируются (воспринимаются как обычные символы). Точно также игнорируются (воспринимаются как обычные) в тексте многострочного комментария символы однострочного комментария //.
ASCII-Коды (символы с кодами 0-127)
dec | hex | char | dec | hex | char | dec | hex | char |
0 | 0 | 46 | 2E | . | 92 | 5C | \ | |
1 | 1 | 47 | 2F | / | 93 | 5D | ] | |
2 | 2 | 48 | 30 | 0 | 94 | 5E | ^ | |
3 | 3 | 49 | 31 | 1 | 95 | 5F | _ | |
4 | 4 | 50 | 32 | 2 | 96 | 60 | ' | |
5 | 5 | 51 | 33 | 3 | 97 | 61 | a | |
6 | 6 | 52 | 34 | 4 | 98 | 62 | b | |
7 | 7 | звонок | 53 | 35 | 5 | 99 | 63 | c |
8 | 8 | 54 | 36 | 6 | 100 | 64 | d | |
9 | 9 | 55 | 37 | 7 | 101 | 65 | e | |
10 | A | перевод строки | 56 | 38 | 8 | 102 | 66 | f |
11 | B | 57 | 39 | 9 | 103 | 67 | g | |
12 | C | 58 | 3A | : | 104 | 68 | h | |
13 | D | возврат каретки | 59 | 3B | ; | 105 | 69 | i |
14 | E | 60 | 3C | < | 106 | 6A | j | |
15 | F | 61 | 3D | = | 107 | 6B | k | |
16 | 10 | 62 | 3E | > | 108 | 6C | l | |
17 | 11 | 63 | 3F | ? | 109 | 6D | m | |
18 | 12 | 64 | 40 | @ | 110 | 6E | n | |
19 | 13 | 65 | 41 | A | 111 | 6F | o | |
20 | 14 | 66 | 42 | B | 112 | 70 | p | |
21 | 15 | 67 | 43 | C | 113 | 71 | q | |
22 | 16 | 68 | 44 | D | 114 | 72 | r | |
23 | 17 | 69 | 45 | E | 115 | 73 | s | |
24 | 18 | 70 | 46 | F | 116 | 74 | t | |
25 | 19 | 71 | 47 | G | 117 | 75 | u | |
26 | 1A | 72 | 48 | H | 118 | 76 | v | |
27 | 1B | 73 | 49 | I | 119 | 77 | w | |
28 | 1C | 74 | 4A | J | 120 | 78 | x | |
29 | 1D | 75 | 4B | K | 121 | 79 | y | |
30 | 1E | 76 | 4C | L | 122 | 7A | z | |
31 | 1F | 77 | 4D | M | 123 | 7B | { | |
32 | 20 | пробел | 78 | 4E | N | 124 | 7C | ¦ |
33 | 21 | ! | 79 | 4F | O | 125 | 7D | } |
34 | 22 | '' | 80 | 50 | P | 126 | 7E | ~ |
35 | 23 | # | 81 | 51 | Q | 127 | 7F | del |
36 | 24 | $ | 82 | 52 | R | |||
37 | 25 | % | 83 | 53 | S | |||
38 | 26 | & | 84 | 54 | T | |||
39 | 27 | ' | 85 | 55 | U | |||
40 | 28 | ( | 86 | 56 | V | |||
41 | 29 | ) | 87 | 57 | W | |||
42 | 2A | * | 88 | 58 | X | |||
43 | 2B | + | 89 | 59 | Y | |||
44 | 2C | , | 90 | 5A | Z | |||
45 | 2D | - | 91 | 5B | [ |
|
|
Кодовая таблица 866 – MS-DOS
(символы с кодами 127-255)
dec | hex | char | dec | hex | char | dec | hex | char | dec | hex | char | dec | hex | char | dec | hex | char |
128 | 80 | А | 150 | 96 | Ц | 172 | AC | м | 193 | C1 | ┴ | 214 | D6 | ╓ | 235 | EB | ы |
129 | 81 | Б | 151 | 97 | Ч | 173 | AD | н | 194 | C2 | ┬ | 215 | D7 | ╫ | 236 | EC | ь |
130 | 82 | В | 152 | 98 | Ш | 174 | AE | о | 195 | C3 | ├ | 216 | D8 | ╪ | 237 | ED | э |
131 | 83 | Г | 153 | 99 | Щ | 175 | AF | п | 196 | C4 | ─ | 217 | D9 | ┘ | 238 | EE | ю |
132 | 84 | Д | 154 | 9A | Ъ | 176 | B0 | - | 197 | C5 | ┼ | 218 | DA | ┌ | 239 | EF | я |
133 | 85 | Е | 155 | 9B | Ы | 177 | B1 | - | 198 | C6 | ╞ | 219 | DB | █ | 240 | F0 | Ё |
134 | 86 | Ж | 156 | 9C | Ь | 178 | B2 | - | 199 | C7 | ╟ | 220 | DC | ▄ | 241 | F1 | ё |
135 | 87 | З | 157 | 9D | Э | 179 | B3 | │ | 200 | C8 | ╚ | 221 | DD | ▌ | 242 | F2 | ≥ |
136 | 88 | И | 158 | 9E | Ю | 180 | B4 | ┤ | 201 | C9 | ╔ | 222 | DE | ▐ | 243 | F3 | ≤ |
137 | 89 | Й | 159 | 9F | Я | 181 | B5 | ╡ | 202 | CA | ╩ | 223 | DF | ▀ | 244 | F4 | ⌠ |
138 | 8A | К | 160 | A0 | а | 182 | B6 | ╢ | 203 | CB | ╦ | 224 | E0 | р | 245 | F5 | ⌡ |
139 | 8B | Л | 161 | A1 | б | 183 | B7 | ╖ | 204 | CC | ╠ | 225 | E1 | с | 246 | F6 | + |
140 | 8C | М | 162 | A2 | в | 184 | B8 | ╕ | 205 | CD | ═ | 226 | E2 | т | 247 | F7 | ≈ |
141 | 8D | Н | 163 | A3 | г | 185 | B9 | ╣ | 206 | CE | ╬ | 227 | E3 | у | 248 | F8 | |
142 | 8E | О | 164 | A4 | д | 186 | BA | ║ | 207 | CF | ╧ | 228 | E4 | ф | 249 | F9 | |
143 | 8F | П | 165 | A5 | е | 187 | BB | ╗ | 208 | D0 | ╨ | 229 | E5 | х | 250 | FA | ● |
144 | 90 | Р | 166 | A6 | ж | 188 | BC | ╝ | 209 | D1 | ╤ | 230 | E6 | ц | 251 | FB | √ |
145 | 91 | С | 167 | A7 | з | 189 | BD | ╜ | 210 | D2 | ╥ | 231 | E7 | ч | 252 | FC | n |
146 | 92 | Т | 168 | A8 | и | 190 | BE | ╛ | 211 | D3 | ╙ | 232 | E8 | ш | 253 | FD | 2 |
147 | 93 | У | 169 | A9 | й | 191 | BF | ┐ | 212 | D4 | ╘ | 233 | E9 | щ | 254 | FE | ■ |
148 | 94 | Ф | 170 | AA | к | 192 | C0 | └ | 213 | D5 | ╒ | 234 | EA | ъ | 255 | FF | |
149 | 95 | Х | 171 | AB | л |
|
|
Кодовая таблица 1251 – MS Windows
(символы с кодами 127-255, даны выборочно)
dec | hex | char | dec | hex | char | dec | hex | char | dec | hex | char | dec | hex | char | dec | hex | char | ||||
128 | 80 | 150 | 96 | 172 | AC | 193 | C1 | Б | 214 | D6 | Ц | 235 | EB | л | |||||||
129 | 81 | 151 | 97 | 173 | AD | - | 194 | C2 | В | 215 | D7 | Ч | 236 | EC | м | ||||||
130 | 82 | 152 | 98 | 174 | AE | ® | 195 | C3 | Г | 216 | D8 | Ш | 237 | ED | н | ||||||
131 | 83 | 153 | 99 | 175 | AF | Ï | 196 | C4 | Д | 217 | D9 | Щ | 238 | EE | о | ||||||
132 | 84 | 154 | 9A | 176 | B0 | º | 197 | C5 | Е | 218 | DA | Ъ | 239 | EF | п | ||||||
133 | 85 | 155 | 9B | 177 | B1 | ± | 198 | C6 | Ж | 219 | DB | Ы | 240 | F0 | р | ||||||
134 | 86 | 156 | 9C | 178 | B2 | | 199 | C7 | З | 220 | DC | Ь | 241 | F1 | с | ||||||
135 | 87 | 157 | 9D | 179 | B3 | i | 200 | C8 | И | 221 | DD | Э | 242 | F2 | т | ||||||
136 | 88 | 158 | 9E | 180 | B4 | r | 201 | C9 | Й | 222 | DE | Ю | 243 | F3 | у | ||||||
137 | 89 | 159 | 9F | 181 | B5 | μ | 202 | CA | К | 223 | DF | Я | 244 | F4 | ф | ||||||
138 | 8A | 160 | A0 | 182 | B6 | ¶ | 203 | CB | Л | 224 | E0 | а | 245 | F5 | х | ||||||
139 | 8B | 161 | A1 | Ў | 183 | B7 | . | 204 | CC | М | 225 | E1 | б | 246 | F6 | ц | |||||
140 | 8C | 162 | A2 | ў | 184 | B8 | ë | 205 | CD | Н | 226 | E2 | в | 247 | F7 | ч | |||||
141 | 8D | 163 | A3 | J | 185 | B9 | № | 206 | CE | О | 227 | E3 | г | 248 | F8 | ш | |||||
142 | 8E | 164 | A4 | 186 | BA | ε | 207 | CF | П | 228 | E4 | д | 249 | F9 | щ | ||||||
143 | 8F | 165 | A5 | ¤ | 187 | BB | » | 208 | D0 | Р | 229 | E5 | е | 250 | FA | ъ | |||||
144 | 90 | 166 | A6 | ¦ | 188 | BC | j | 209 | D1 | С | 230 | E6 | ж | 251 | FB | ы | |||||
145 | 91 | 167 | A7 | § | 189 | BD | S | 210 | D2 | Т | 231 | E7 | з | 252 | FC | ь | |||||
146 | 92 | 168 | A8 | Ё | 190 | BE | s | 211 | D3 | У | 232 | E8 | и | 253 | FD | э | |||||
147 | 93 | 169 | A9 | © | 191 | BF | ï | 212 | D4 | Ф | 233 | E9 | й | 254 | FE | ю | |||||
148 | 94 | 170 | AA | Є | 192 | C0 | А | 213 | D5 | Х | 234 | EA | к | 255 | FF | я | |||||
149 | 95 | 171 | AB | « | 䦋㌌㏒ | 䦋㌌㏒㧀좈琰茞ᓀ㵂Ü |
|
| 䦋㌌㏒㧀좈琰茞ᓀ㵂Ü | 䦋㌌㏒㧀좈琰茞ᓀ㵂Ü | 䦋㌌㏒㧀좈琰茞ᓀ㵂Ü | ||||||||||
[1] Из соображений удобства кодирования и из технических соображений пользуются равномерными кодами, т.е. двоичными группами равной длины. При использовании 8 двоичных знаков (1 байт) получим 256 комбинаций двоичных символов. Одной из распространенных систем «байтового» кодирования является ASCII (American Stаndard Cod Information Interchange, произносим «аскей»). Но эта система является международной (общепринятой) только в первой половине кодов (от 0 до 127), вторая половина кодов (от 128 до 255) является национальной и различна для разных стран (см. таблицы кодов в конце лекции).
Программист, используя в программах, выполняемых в консольном режиме, строковые и символьные константы с русскими буквами, сталкивается с проблемой различия кодировок. В консольном режиме примеряется ОЕМ-кодировка, в которой для представления символов со значениями кодов 128-255 используется кодовая таблица 866 – MS DOS. В программах, исполняемых и создаваемых под управлением MS Windows, применяется для тех же символов кодовая таблица 1251 (ANSI-кодировка). Поэтому текст с русскими буквами (их коды находятся в диапазоне 128-255), подготовленный к редакторе MS Windows, нельзя правильно отобразить в консольном окне – нужна перекодировка из MS Windows в MS DOS и обратно.
|
|