Кодирование текстовой информации
💻 Информатика · 10 класс
Что такое кодирование текста
Кодирование текстовой информации — это представление каждого символа (буквы, цифры, знака препинания, пробела) в виде последовательности нулей и единиц. Компьютер хранит и обрабатывает текст как набор чисел: каждому символу ставится в соответствие свой числовой код, а уже число записывается в двоичном виде.
Соответствие между символами и их кодами задаёт кодовая таблица (таблица кодировки). Если все участники обмена пользуются одной таблицей, текст читается одинаково на любом устройстве.
Однобайтовые кодировки
Исторически первой широко распространилась таблица ASCII, в которой символ кодируется 7 битами, что даёт 128 различных символов: латинские буквы, цифры и служебные знаки. Позже таблицу расширили до 8 бит (1 байт), и стало доступно 256 символов. В русскоязычных однобайтовых кодировках (например, Windows-1251 или KOI8-R) вторая половина таблицы отведена под буквы кириллицы.
Главный принцип: один символ — один байт. Тогда информационный объём текста легко подсчитать.
Кодировка Юникод
Чтобы хранить символы всех письменностей мира, создали стандарт Unicode. В распространённой форме записи UTF-8 символ занимает от 1 до 4 байт: латиница — 1 байт, кириллица — обычно 2 байта.
| Кодировка | Бит на символ | Число символов |
|---|---|---|
| ASCII | 7 | 128 |
| Однобайтовая (Windows-1251) | 8 | 256 |
| UTF-8 (кириллица) | 16 | десятки тысяч |
Подсчёт объёма текста
Если каждый символ кодируется одним байтом, информационный объём равен числу символов в байтах. Пробелы и знаки препинания тоже считаются символами.
Пример. Сообщение содержит 200 символов в однобайтовой кодировке. Объём = 200 байт.
Разберём расчёт через формулу:
I = K * i
где K — количество символов, i — число бит на один символ, I — объём в битах.
K = 200; i = 8 бит; I = 200 * 8 = 1600 бит = 200 байтЕсли та же страница записана в UTF-8 и состоит из русских букв, каждый символ займёт 2 байта, и объём удвоится.
Зачем нужно знать кодировку
Если текст создан в одной кодировке, а открыт в другой, на экране вместо букв появляется бессмысленный набор символов. Такую ситуацию называют «нечитаемой» или «битой» кодировкой. Чтобы вернуть текст, нужно указать программе правильную таблицу. Именно поэтому современные системы стремятся к единому стандарту — Unicode, который охватывает буквы всех языков и устраняет путаницу между разными однобайтовыми таблицами.
Полезно помнить, что мощность алфавита и число бит на символ связаны формулой. Если в алфавите N символов, то на кодирование одного символа нужно столько бит i, чтобы выполнялось неравенство 2 ^ i >= N.
Пример. Алфавит из 33 букв требует не менее 6 бит, потому что2 ^ 5 = 32мало, а2 ^ 6 = 64достаточно для 33 символов.
Частые ошибки. Забывают учитывать пробелы и знаки препинания. Путают биты и байты: 1 байт = 8 бит. Считают, что любой символ всегда занимает ровно 1 байт, тогда как в UTF-8 кириллица занимает 2 байта.
Кратко о главном
- Кодирование текста — сопоставление каждому символу числового кода.
- Кодовая таблица задаёт соответствие символов и кодов.
- В однобайтовых кодировках символ занимает 1 байт (256 символов).
- Юникод хранит символы всех письменностей; в UTF-8 кириллица — 2 байта.
- Объём текста:
I = K * i, где учитываются все символы, включая пробелы.