Один и тот же текст в ASCII и в Unicode (UTF-16): во сколько раз отличается размер файла?
Сравниваю размеры одного текста, сохранённого по-разному. В кодировке, где символ занимает 1 байт, и в той, где 2 байта. Во сколько раз файл больше во втором случае и как это правильно посчитать на примере, скажем, текста из 200 символов?
3 ответа
Если в одной кодировке символ весит 1 байт (8 бит, как в ASCII/однобайтовых), а в другой — 2 байта (16 бит, как в UTF-16), то при одинаковом числе символов второй файл ровно в 2 раза больше.
Для 200 символов:
- однобайтовая: 200 × 1 = 200 байт;
- двухбайтовая: 200 × 2 = 400 байт;
- разница: 400 − 200 = 200 байт, или ровно в 2 раза.
Общая схема задачи: объём = (число символов) × (байт на символ). Меняется только множитель «байт на символ», который ты берёшь из условия (1, 2 или сколько сказано). Если спрашивают «на сколько байт больше» — это (i₂ − i₁) × число символов.
В 2 раза. 1 байт/символ против 2 байт/символ при одинаковом тексте — объём удваивается.
Ровно вдвое.