Сверь числа и знаки с фото.
Перекодировка
Сообщение длиной 50 символов было перекодировано из 8-битной кодировки ASCII в 16-битную кодировку UTF-16. Каким стал объём сообщения?
Понять условия задачи: • В 8-битной кодировке ASCII каждый символ кодируется 1 байтом • В 16-битной кодировке UTF-16 каждый символ кодируется 2 байтами
Исходное сообщение: • Длина сообщения: 50 символов • В 8-битной кодировке каждый из 2 символов занимает 1 байт
Преобразование в 16-битную кодировку: • В UTF-16 каждый из 2 символов займёт 2 байта
Расчёт итогового объёма: Ответить
Краткий ответ
Объём сообщения стал 100 байт (это \(100 \cdot 8 = 800\) бит).
Разбор по шагам
1. Сколько «весит» один символ в каждой кодировке
- ASCII — 8-битная кодировка, значит на 1 символ отводится 1 байт.
- UTF-16 — 16-битная кодировка, значит на 1 символ отводится 2 байта (в 2 раза больше).
2. Исходный объём
Сообщение состоит из 50 символов, каждый по 1 байту:
\[ V_{\text{ASCII}} = 50 \cdot 1 = 50 \text{ байт} \]
3. Объём после перекодировки
Длина сообщения (число символов) не меняется — меняется только «цена» одного символа:
\[ V_{\text{UTF-16}} = 50 \cdot 2 = 100 \text{ байт} \]
4. Проверка
Тот же результат через биты: было \(50 \cdot 8 = 400\) бит, стало \(50 \cdot 16 = 800\) бит, \(800 : 8 = 100\) байт. ✔
Обрати внимание на поля в задании: в пункте 2 стоит «каждый из 2 символов» — там должно быть 50 (длина сообщения). А вот «2 байта» в пункте 3 — верно, это вес одного символа в UTF-16.
Принцип на будущее: при перекодировке число символов сохраняется, поэтому
\[ V_2 = V_1 \cdot \frac{\text{бит на символ во второй кодировке}}{\text{бит на символ в первой}} \]
Здесь коэффициент \(\frac{16}{8} = 2\), поэтому объём просто удвоился: \(50 \to 100\) байт.