Вперед Зміст

Кодування символів. Кодові таблиці

Усі літери та інші символи, які використовуються для друку, кодуються двійковими числами.

Існують:

Коди всіх символів знаходяться в спеціальних таблицях і збігаються з їх порядковими номерами в цих таблицях.

Однобайтове кодування

American Standard Code for Information Interchange (ASCII) — це 7-бітне кодування, у якому кожен символ має код від 0 до 127.

Усі сучасні однобайтові кодування зберігають базову ASCII-таблицю (коди 0–127) без змін. Але коди 128–255 у різних кодуваннях використовуються по-різному. Вони не належать до ASCII, а є частиною конкретного однобайтного набору символів (наприклад, Windows-1251 або ISO-8859-1).

Отже, базова таблиця ASCII однакова для всіх кодувань, а частина 128–255 — залежить від конкретної системи кодування.

У всіх задачах, які ми будемо вирішувати в цьому розділі, ми будемо використовувати лише символи з тієї таблиці.

Таблиця ASCII

Таблиця символів ASCII

Код Символ Код Символ Код Символ Код Символ
032 64@96-
1○33!65A97a
2●34"66B98b
3▼35#67C99c
4♦36$68D100d
5♣37%69E101e
6♦38&70F102f
7•39'71G103g
8■40(72H104h
941)73I105i
10✅42*74J106j
11✅43+75K107k
12○44,76L108l
13✅45-77M109m
14♫46.78N110n
15☆47/79O111o
16►48080P112p
17✅49181Q113q
18↑50282R114r
19!!51383S115s
2052484T116t
21§53585U117u
22—54686V118v
23↑55787W119w
24↑56888X120x
25↓57989Y121y
26›58:90Z122z
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).


Вперед Зміст