Справочник языка
Символы и их коды
Символ можно представить числом, а число — снова превратить в символ, и на этом построены многие задачи вывода и разбора текста. Axiom хранит строку как UTF-16, поэтому переход между символом и кодом выполняют две пары функций: ASC и CHR работают через таблицу CP866 для младших кодов, ASCW и CHRW — напрямую с Unicode. Выбор пары определяет, какой именно код получится на выходе.
Строка и код символа
Строка Axiom хранится как UTF-16. ASC и ASCW читают первую кодовую точку Unicode, а не обязательно один элемент UTF-16: символ вне основной многоязычной плоскости занимает два элемента UTF-16, но возвращает один код Unicode.
ASCW возвращает код Unicode, а CHRW создаёт символ по такому коду. ASC отдаёт код ASCII для значений ниже 128, код CP866 для символов, имеющихся в встроенной таблице, и код Unicode для остальных. CHR для кодов 0–127 использует ASCII, для 128–255 — таблицу CP866, а выше 255 — Unicode.
CHR и CHRW допускают коды от 0 до 1114111, кроме суррогатного диапазона 55296–57343; недопустимый код вызывает MB3007. ASC и ASCW не принимают пустую строку и в этом случае также вызывают MB3007. Для Unicode-обмена служат ASCW и CHRW, поскольку таблица CP866 меняет смысл кодов 128–255.
Пример разных кодов
Одна и та же буква получает разные коды в зависимости от выбранной функции, а код вне таблицы CP866 остаётся кодом Unicode:
PRINT ASC("А")
PRINT ASCW("А")
PRINT CHR(128)
PRINT CHRW(1040)
PRINT ASCW("😀")
PRINT LEN(CHRW(128512))Ожидаемый вывод:
128
1040
А
А
128512
2Буква «А» через ASC даёт 128 — позицию в таблице CP866, а через ASCW — 1040, её собственный код Unicode. Символ, построенный CHRW из 128512, занимает две кодовые единицы UTF-16, что и показывает LEN.
Таблица кодов 0–255 для CHR
Таблица приведена по RuntimeCharacterEncoding реализации Axiom. Управляющие коды не заменяются декоративными экранными значками; видимый эффект зависит от консоли или графического вывода.
| Код | Шестнадцатеричный код | Символ или имя | Значение |
|---|---|---|---|
| 0 | 00h | NUL | Управляющий код ASCII. |
| 1 | 01h | SOH | Управляющий код ASCII. |
| 2 | 02h | STX | Управляющий код ASCII. |
| 3 | 03h | ETX | Управляющий код ASCII. |
| 4 | 04h | EOT | Управляющий код ASCII. |
| 5 | 05h | ENQ | Управляющий код ASCII. |
| 6 | 06h | ACK | Управляющий код ASCII. |
| 7 | 07h | BEL | Управляющий код ASCII. |
| 8 | 08h | BS | Управляющий код ASCII. |
| 9 | 09h | TAB | Управляющий код ASCII. |
| 10 | 0Ah | LF | Управляющий код ASCII. |
| 11 | 0Bh | VT | Управляющий код ASCII. |
| 12 | 0Ch | FF | Управляющий код ASCII. |
| 13 | 0Dh | CR | Управляющий код ASCII. |
| 14 | 0Eh | SO | Управляющий код ASCII. |
| 15 | 0Fh | SI | Управляющий код ASCII. |
| 16 | 10h | DLE | Управляющий код ASCII. |
| 17 | 11h | DC1 | Управляющий код ASCII. |
| 18 | 12h | DC2 | Управляющий код ASCII. |
| 19 | 13h | DC3 | Управляющий код ASCII. |
| 20 | 14h | DC4 | Управляющий код ASCII. |
| 21 | 15h | NAK | Управляющий код ASCII. |
| 22 | 16h | SYN | Управляющий код ASCII. |
| 23 | 17h | ETB | Управляющий код ASCII. |
| 24 | 18h | CAN | Управляющий код ASCII. |
| 25 | 19h | EM | Управляющий код ASCII. |
| 26 | 1Ah | SUB | Управляющий код ASCII. |
| 27 | 1Bh | ESC | Управляющий код ASCII. |
| 28 | 1Ch | FS | Управляющий код ASCII. |
| 29 | 1Dh | GS | Управляющий код ASCII. |
| 30 | 1Eh | RS | Управляющий код ASCII. |
| 31 | 1Fh | US | Управляющий код ASCII. |
| 32 | 20h | Пробел | Символ ASCII. |
| 33 | 21h | ! | Символ ASCII. |
| 34 | 22h | " | Символ ASCII. |
| 35 | 23h | # | Символ ASCII. |
| 36 | 24h | $ | Символ ASCII. |
| 37 | 25h | % | Символ ASCII. |
| 38 | 26h | & | Символ ASCII. |
| 39 | 27h | ' | Символ ASCII. |
| 40 | 28h | ( | Символ ASCII. |
| 41 | 29h | ) | Символ ASCII. |
| 42 | 2Ah | * | Символ ASCII. |
| 43 | 2Bh | + | Символ ASCII. |
| 44 | 2Ch | , | Символ ASCII. |
| 45 | 2Dh | - | Символ ASCII. |
| 46 | 2Eh | . | Символ ASCII. |
| 47 | 2Fh | / | Символ ASCII. |
| 48 | 30h | 0 | Символ ASCII. |
| 49 | 31h | 1 | Символ ASCII. |
| 50 | 32h | 2 | Символ ASCII. |
| 51 | 33h | 3 | Символ ASCII. |
| 52 | 34h | 4 | Символ ASCII. |
| 53 | 35h | 5 | Символ ASCII. |
| 54 | 36h | 6 | Символ ASCII. |
| 55 | 37h | 7 | Символ ASCII. |
| 56 | 38h | 8 | Символ ASCII. |
| 57 | 39h | 9 | Символ ASCII. |
| 58 | 3Ah | : | Символ ASCII. |
| 59 | 3Bh | ; | Символ ASCII. |
| 60 | 3Ch | < | Символ ASCII. |
| 61 | 3Dh | = | Символ ASCII. |
| 62 | 3Eh | > | Символ ASCII. |
| 63 | 3Fh | ? | Символ ASCII. |
| 64 | 40h | @ | Символ ASCII. |
| 65 | 41h | A | Символ ASCII. |
| 66 | 42h | B | Символ ASCII. |
| 67 | 43h | C | Символ ASCII. |
| 68 | 44h | D | Символ ASCII. |
| 69 | 45h | E | Символ ASCII. |
| 70 | 46h | F | Символ ASCII. |
| 71 | 47h | G | Символ ASCII. |
| 72 | 48h | H | Символ ASCII. |
| 73 | 49h | I | Символ ASCII. |
| 74 | 4Ah | J | Символ ASCII. |
| 75 | 4Bh | K | Символ ASCII. |
| 76 | 4Ch | L | Символ ASCII. |
| 77 | 4Dh | M | Символ ASCII. |
| 78 | 4Eh | N | Символ ASCII. |
| 79 | 4Fh | O | Символ ASCII. |
| 80 | 50h | P | Символ ASCII. |
| 81 | 51h | Q | Символ ASCII. |
| 82 | 52h | R | Символ ASCII. |
| 83 | 53h | S | Символ ASCII. |
| 84 | 54h | T | Символ ASCII. |
| 85 | 55h | U | Символ ASCII. |
| 86 | 56h | V | Символ ASCII. |
| 87 | 57h | W | Символ ASCII. |
| 88 | 58h | X | Символ ASCII. |
| 89 | 59h | Y | Символ ASCII. |
| 90 | 5Ah | Z | Символ ASCII. |
| 91 | 5Bh | [ | Символ ASCII. |
| 92 | 5Ch | \ | Символ ASCII. |
| 93 | 5Dh | ] | Символ ASCII. |
| 94 | 5Eh | ^ | Символ ASCII. |
| 95 | 5Fh | _ | Символ ASCII. |
| 96 | 60h | ` | Символ ASCII. |
| 97 | 61h | a | Символ ASCII. |
| 98 | 62h | b | Символ ASCII. |
| 99 | 63h | c | Символ ASCII. |
| 100 | 64h | d | Символ ASCII. |
| 101 | 65h | e | Символ ASCII. |
| 102 | 66h | f | Символ ASCII. |
| 103 | 67h | g | Символ ASCII. |
| 104 | 68h | h | Символ ASCII. |
| 105 | 69h | i | Символ ASCII. |
| 106 | 6Ah | j | Символ ASCII. |
| 107 | 6Bh | k | Символ ASCII. |
| 108 | 6Ch | l | Символ ASCII. |
| 109 | 6Dh | m | Символ ASCII. |
| 110 | 6Eh | n | Символ ASCII. |
| 111 | 6Fh | o | Символ ASCII. |
| 112 | 70h | p | Символ ASCII. |
| 113 | 71h | q | Символ ASCII. |
| 114 | 72h | r | Символ ASCII. |
| 115 | 73h | s | Символ ASCII. |
| 116 | 74h | t | Символ ASCII. |
| 117 | 75h | u | Символ ASCII. |
| 118 | 76h | v | Символ ASCII. |
| 119 | 77h | w | Символ ASCII. |
| 120 | 78h | x | Символ ASCII. |
| 121 | 79h | y | Символ ASCII. |
| 122 | 7Ah | z | Символ ASCII. |
| 123 | 7Bh | { | Символ ASCII. |
| 124 | 7Ch | | | Символ ASCII. |
| 125 | 7Dh | } | Символ ASCII. |
| 126 | 7Eh | ~ | Символ ASCII. |
| 127 | 7Fh | DEL | Управляющий код ASCII. |
| 128 | 80h | А | Символ таблицы CP866 реализации Axiom. |
| 129 | 81h | Б | Символ таблицы CP866 реализации Axiom. |
| 130 | 82h | В | Символ таблицы CP866 реализации Axiom. |
| 131 | 83h | Г | Символ таблицы CP866 реализации Axiom. |
| 132 | 84h | Д | Символ таблицы CP866 реализации Axiom. |
| 133 | 85h | Е | Символ таблицы CP866 реализации Axiom. |
| 134 | 86h | Ж | Символ таблицы CP866 реализации Axiom. |
| 135 | 87h | З | Символ таблицы CP866 реализации Axiom. |
| 136 | 88h | И | Символ таблицы CP866 реализации Axiom. |
| 137 | 89h | Й | Символ таблицы CP866 реализации Axiom. |
| 138 | 8Ah | К | Символ таблицы CP866 реализации Axiom. |
| 139 | 8Bh | Л | Символ таблицы CP866 реализации Axiom. |
| 140 | 8Ch | М | Символ таблицы CP866 реализации Axiom. |
| 141 | 8Dh | Н | Символ таблицы CP866 реализации Axiom. |
| 142 | 8Eh | О | Символ таблицы CP866 реализации Axiom. |
| 143 | 8Fh | П | Символ таблицы CP866 реализации Axiom. |
| 144 | 90h | Р | Символ таблицы CP866 реализации Axiom. |
| 145 | 91h | С | Символ таблицы CP866 реализации Axiom. |
| 146 | 92h | Т | Символ таблицы CP866 реализации Axiom. |
| 147 | 93h | У | Символ таблицы CP866 реализации Axiom. |
| 148 | 94h | Ф | Символ таблицы CP866 реализации Axiom. |
| 149 | 95h | Х | Символ таблицы CP866 реализации Axiom. |
| 150 | 96h | Ц | Символ таблицы CP866 реализации Axiom. |
| 151 | 97h | Ч | Символ таблицы CP866 реализации Axiom. |
| 152 | 98h | Ш | Символ таблицы CP866 реализации Axiom. |
| 153 | 99h | Щ | Символ таблицы CP866 реализации Axiom. |
| 154 | 9Ah | Ъ | Символ таблицы CP866 реализации Axiom. |
| 155 | 9Bh | Ы | Символ таблицы CP866 реализации Axiom. |
| 156 | 9Ch | Ь | Символ таблицы CP866 реализации Axiom. |
| 157 | 9Dh | Э | Символ таблицы CP866 реализации Axiom. |
| 158 | 9Eh | Ю | Символ таблицы CP866 реализации Axiom. |
| 159 | 9Fh | Я | Символ таблицы CP866 реализации Axiom. |
| 160 | A0h | а | Символ таблицы CP866 реализации Axiom. |
| 161 | A1h | б | Символ таблицы CP866 реализации Axiom. |
| 162 | A2h | в | Символ таблицы CP866 реализации Axiom. |
| 163 | A3h | г | Символ таблицы CP866 реализации Axiom. |
| 164 | A4h | д | Символ таблицы CP866 реализации Axiom. |
| 165 | A5h | е | Символ таблицы CP866 реализации Axiom. |
| 166 | A6h | ж | Символ таблицы CP866 реализации Axiom. |
| 167 | A7h | з | Символ таблицы CP866 реализации Axiom. |
| 168 | A8h | и | Символ таблицы CP866 реализации Axiom. |
| 169 | A9h | й | Символ таблицы CP866 реализации Axiom. |
| 170 | AAh | к | Символ таблицы CP866 реализации Axiom. |
| 171 | ABh | л | Символ таблицы CP866 реализации Axiom. |
| 172 | ACh | м | Символ таблицы CP866 реализации Axiom. |
| 173 | ADh | н | Символ таблицы CP866 реализации Axiom. |
| 174 | AEh | о | Символ таблицы CP866 реализации Axiom. |
| 175 | AFh | п | Символ таблицы CP866 реализации Axiom. |
| 176 | B0h | ░ | Символ таблицы CP866 реализации Axiom. |
| 177 | B1h | ▒ | Символ таблицы CP866 реализации Axiom. |
| 178 | B2h | ▓ | Символ таблицы CP866 реализации Axiom. |
| 179 | B3h | │ | Символ таблицы CP866 реализации Axiom. |
| 180 | B4h | ┤ | Символ таблицы CP866 реализации Axiom. |
| 181 | B5h | ╡ | Символ таблицы CP866 реализации Axiom. |
| 182 | B6h | ╢ | Символ таблицы CP866 реализации Axiom. |
| 183 | B7h | ╖ | Символ таблицы CP866 реализации Axiom. |
| 184 | B8h | ╕ | Символ таблицы CP866 реализации Axiom. |
| 185 | B9h | ╣ | Символ таблицы CP866 реализации Axiom. |
| 186 | BAh | ║ | Символ таблицы CP866 реализации Axiom. |
| 187 | BBh | ╗ | Символ таблицы CP866 реализации Axiom. |
| 188 | BCh | ╝ | Символ таблицы CP866 реализации Axiom. |
| 189 | BDh | ╜ | Символ таблицы CP866 реализации Axiom. |
| 190 | BEh | ╛ | Символ таблицы CP866 реализации Axiom. |
| 191 | BFh | ┐ | Символ таблицы CP866 реализации Axiom. |
| 192 | C0h | └ | Символ таблицы CP866 реализации Axiom. |
| 193 | C1h | ┴ | Символ таблицы CP866 реализации Axiom. |
| 194 | C2h | ┬ | Символ таблицы CP866 реализации Axiom. |
| 195 | C3h | ├ | Символ таблицы CP866 реализации Axiom. |
| 196 | C4h | ─ | Символ таблицы CP866 реализации Axiom. |
| 197 | C5h | ┼ | Символ таблицы CP866 реализации Axiom. |
| 198 | C6h | ╞ | Символ таблицы CP866 реализации Axiom. |
| 199 | C7h | ╟ | Символ таблицы CP866 реализации Axiom. |
| 200 | C8h | ╚ | Символ таблицы CP866 реализации Axiom. |
| 201 | C9h | ╔ | Символ таблицы CP866 реализации Axiom. |
| 202 | CAh | ╩ | Символ таблицы CP866 реализации Axiom. |
| 203 | CBh | ╦ | Символ таблицы CP866 реализации Axiom. |
| 204 | CCh | ╠ | Символ таблицы CP866 реализации Axiom. |
| 205 | CDh | ═ | Символ таблицы CP866 реализации Axiom. |
| 206 | CEh | ╬ | Символ таблицы CP866 реализации Axiom. |
| 207 | CFh | ╧ | Символ таблицы CP866 реализации Axiom. |
| 208 | D0h | ╨ | Символ таблицы CP866 реализации Axiom. |
| 209 | D1h | ╤ | Символ таблицы CP866 реализации Axiom. |
| 210 | D2h | ╥ | Символ таблицы CP866 реализации Axiom. |
| 211 | D3h | ╙ | Символ таблицы CP866 реализации Axiom. |
| 212 | D4h | ╘ | Символ таблицы CP866 реализации Axiom. |
| 213 | D5h | ╒ | Символ таблицы CP866 реализации Axiom. |
| 214 | D6h | ╓ | Символ таблицы CP866 реализации Axiom. |
| 215 | D7h | ╫ | Символ таблицы CP866 реализации Axiom. |
| 216 | D8h | ╪ | Символ таблицы CP866 реализации Axiom. |
| 217 | D9h | ┘ | Символ таблицы CP866 реализации Axiom. |
| 218 | DAh | ┌ | Символ таблицы CP866 реализации Axiom. |
| 219 | DBh | █ | Символ таблицы CP866 реализации Axiom. |
| 220 | DCh | ▄ | Символ таблицы CP866 реализации Axiom. |
| 221 | DDh | ▌ | Символ таблицы CP866 реализации Axiom. |
| 222 | DEh | ▐ | Символ таблицы CP866 реализации Axiom. |
| 223 | DFh | ▀ | Символ таблицы CP866 реализации Axiom. |
| 224 | E0h | р | Символ таблицы CP866 реализации Axiom. |
| 225 | E1h | с | Символ таблицы CP866 реализации Axiom. |
| 226 | E2h | т | Символ таблицы CP866 реализации Axiom. |
| 227 | E3h | у | Символ таблицы CP866 реализации Axiom. |
| 228 | E4h | ф | Символ таблицы CP866 реализации Axiom. |
| 229 | E5h | х | Символ таблицы CP866 реализации Axiom. |
| 230 | E6h | ц | Символ таблицы CP866 реализации Axiom. |
| 231 | E7h | ч | Символ таблицы CP866 реализации Axiom. |
| 232 | E8h | ш | Символ таблицы CP866 реализации Axiom. |
| 233 | E9h | щ | Символ таблицы CP866 реализации Axiom. |
| 234 | EAh | ъ | Символ таблицы CP866 реализации Axiom. |
| 235 | EBh | ы | Символ таблицы CP866 реализации Axiom. |
| 236 | ECh | ь | Символ таблицы CP866 реализации Axiom. |
| 237 | EDh | э | Символ таблицы CP866 реализации Axiom. |
| 238 | EEh | ю | Символ таблицы CP866 реализации Axiom. |
| 239 | EFh | я | Символ таблицы CP866 реализации Axiom. |
| 240 | F0h | Ё | Символ таблицы CP866 реализации Axiom. |
| 241 | F1h | ё | Символ таблицы CP866 реализации Axiom. |
| 242 | F2h | Є | Символ таблицы CP866 реализации Axiom. |
| 243 | F3h | є | Символ таблицы CP866 реализации Axiom. |
| 244 | F4h | Ї | Символ таблицы CP866 реализации Axiom. |
| 245 | F5h | ї | Символ таблицы CP866 реализации Axiom. |
| 246 | F6h | Ў | Символ таблицы CP866 реализации Axiom. |
| 247 | F7h | ў | Символ таблицы CP866 реализации Axiom. |
| 248 | F8h | ° | Символ таблицы CP866 реализации Axiom. |
| 249 | F9h | ∙ | Символ таблицы CP866 реализации Axiom. |
| 250 | FAh | · | Символ таблицы CP866 реализации Axiom. |
| 251 | FBh | √ | Символ таблицы CP866 реализации Axiom. |
| 252 | FCh | № | Символ таблицы CP866 реализации Axiom. |
| 253 | FDh | ¤ | Символ таблицы CP866 реализации Axiom. |
| 254 | FEh | ■ | Символ таблицы CP866 реализации Axiom. |
| 255 | FFh | Неразрывный пробел | Символ таблицы CP866 реализации Axiom. |