Усі літери та інші символи, які використовуються для друку, кодуються двійковими числами.
Існують:
Коди всіх символів знаходяться в спеціальних таблицях і збігаються з їх порядковими номерами в цих таблицях.
American Standard Code for Information Interchange (ASCII) — це 7-бітне кодування, у якому кожен символ має код від 0 до 127.
Усі сучасні однобайтові кодування зберігають базову ASCII-таблицю (коди 0–127) без змін. Але коди 128–255 у різних кодуваннях використовуються по-різному. Вони не належать до ASCII, а є частиною конкретного однобайтного набору символів (наприклад, Windows-1251 або ISO-8859-1).
Отже, базова таблиця ASCII однакова для всіх кодувань, а частина 128–255 — залежить від конкретної системи кодування.
У всіх задачах, які ми будемо вирішувати в цьому розділі, ми будемо використовувати лише символи з тієї таблиці.| Код | Символ | Код | Символ | Код | Символ | Код | Символ |
|---|---|---|---|---|---|---|---|
| 0 | 32 | 64 | @ | 96 | - | ||
| 1 | ○ | 33 | ! | 65 | A | 97 | a |
| 2 | ● | 34 | " | 66 | B | 98 | b |
| 3 | ▼ | 35 | # | 67 | C | 99 | c |
| 4 | ♦ | 36 | $ | 68 | D | 100 | d |
| 5 | ♣ | 37 | % | 69 | E | 101 | e |
| 6 | ♦ | 38 | & | 70 | F | 102 | f |
| 7 | • | 39 | ' | 71 | G | 103 | g |
| 8 | ■ | 40 | ( | 72 | H | 104 | h |
| 9 | 41 | ) | 73 | I | 105 | i | |
| 10 | ✅ | 42 | * | 74 | J | 106 | j |
| 11 | ✅ | 43 | + | 75 | K | 107 | k |
| 12 | ○ | 44 | , | 76 | L | 108 | l |
| 13 | ✅ | 45 | - | 77 | M | 109 | m |
| 14 | ♫ | 46 | . | 78 | N | 110 | n |
| 15 | ☆ | 47 | / | 79 | O | 111 | o |
| 16 | ► | 48 | 0 | 80 | P | 112 | p |
| 17 | ✅ | 49 | 1 | 81 | Q | 113 | q |
| 18 | ↑ | 50 | 2 | 82 | R | 114 | r |
| 19 | !! | 51 | 3 | 83 | S | 115 | s |
| 20 | ¶ | 52 | 4 | 84 | T | 116 | t |
| 21 | § | 53 | 5 | 85 | U | 117 | u |
| 22 | — | 54 | 6 | 86 | V | 118 | v |
| 23 | ↑ | 55 | 7 | 87 | W | 119 | w |
| 24 | ↑ | 56 | 8 | 88 | X | 120 | x |
| 25 | ↓ | 57 | 9 | 89 | Y | 121 | y |
| 26 | › | 58 | : | 90 | Z | 122 | z |
| 27 | < | 59 | ; | 91 | [ | 123 | { |
| 28 | ⊥ | 60 | < | 92 | \ | 124 | | |
| 29 | < > | 61 | = | 93 | ] | 125 | } |
| 30 | ▲ | 62 | > | 94 | ^ | 126 | ~ |
| 31 | ▼ | 63 | ? | 95 | _ | 127 | ◇ |
З цієї таблиці потрібно пам'ятати тільки те, що:
Для того, щоб використовувати символи кирилиці, потрібно розглянути багато додаткової інформації (інший тип даних, інший ввід даних і т.і.)
У розширеній частині однобайтних кодувань (коди від 128 до 255) розташовуються національні системи кодування, наприклад символи кирилиці. Єдиного стандарту для цих кодів не існувало, тому в різних країнах та програмах використовувалися різні таблиці (Windows-1251, KOI8-U, ISO-8859-5 та інші).
Під час програмування мовою C++ відображення символів у межах однобайтних кодувань може відрізнятися залежно від операційної системи, локалі та налаштувань компілятора.
У C++ можна працювати і з двобайтовими або ширшими кодуваннями символів.
Для цього використовують так звані широкі символи, що зберігаються
у типі wchar_t. На Windows символи типу wchar_t
зазвичай займають 2 байти (UTF-16), тоді як у Linux та macOS — 4 байти (UTF-32).