Задача Задача №3558443
А
А
Классная задача по памяти и кодировкам. Разберём по шагам.
- Сколько символов в слове
- Слово: "извинитн" — состоит из 8 кириллических символов.
- Какой размер байтов на один символ зависит от кодировки
- UTF-8: кириллические символы U+0400…U+04FF занимают 2 байта каждый.
- UTF-16: каждый символ чаще всего занимает 2 байта.
- Windows-1251 (один байт на символ): каждый символ — 1 байт.
- ASCII не подходит для кириллицы.
- Расчёт для разных кодировок
- UTF-8: 8 символов × 2 байта = 16 байт. При хранении как C-строка (с завершающим нулём) добавится 1 байт: всего 17 байт.
- UTF-16: 8 символов × 2 байта = 16 байт.
- Windows-1251: 8 символов × 1 байт = 8 байт.
- Примечания
- Реальная величина зависит от того, как именно хранится строка в вашей программе: как массив байтов (UTF-8), как массив 16-битных кодовых единиц (UTF-16), или как последовательность байтов в другой кодировке.
- В современных системах чаще всего используют UTF-8, поэтому обычно речь идёт о 16 байтах для самих символов, и 17 байт, если учитывается завершающий нулевой байт для C-строки.
Ответ по умолчанию (без уточнения кодировки): чаще всего — 16 байт для самих символов, в UTF-8/UTF-16. Если нужен конкретный вариант, напишите, какая кодировка используется (UTF-8, UTF-16, Windows-1251 и т. п.).