Чому символ дорівнює 1 байту?

Символ зазвичай представляє символ ASCII. Просто подивіться на таблицю ASCII, у (розширеному) коді ASCII лише 256 символів. Тож вам потрібно лише представити числа від 0 до 255, що зводиться до 8 біт = 1 байт. 11 травня 2015 р.

Кожен символ кодується як від 1 до 4 байтів. Перші 128 кодових точок Unicode закодовані як 1 байт у UTF-8.

Навіть якщо ви думаєте про «символ» як про багатобайтову штучку, char таким не є. sizeof(char) завжди рівно 1. Без винятків, ніколи.

Таблиця ASCII містить 128 символів зі значеннями від 0 до 127. Таким чином, 7 біт достатньо для представлення символу в ASCII; однак, більшість комп’ютерів зазвичай резервують 1 байт (8 біт) для символу ASCII.

Насправді, починаючи з C99, sizeof char визначено як 1 (байт).

Це залежить від символу та його кодування: Символ ASCII у 8-бітовому кодуванні ASCII має 8 біт (1 байт), хоча він може вміститись у 7 біт. Символ ISO-8895-1 у кодуванні ISO-8859-1 становить 8 біт (1 байт). Символ Unicode у кодуванні UTF-8 має довжину від 8 біт (1 байт) до 32 біт (4 байти).