P
pro·school.ru
Каталог школ

Кодирование текстовой информации

💻 Информатика · 10 класс

Что такое кодирование текста

Кодирование текстовой информации — это представление каждого символа (буквы, цифры, знака препинания, пробела) в виде последовательности нулей и единиц. Компьютер хранит и обрабатывает текст как набор чисел: каждому символу ставится в соответствие свой числовой код, а уже число записывается в двоичном виде.

Соответствие между символами и их кодами задаёт кодовая таблица (таблица кодировки). Если все участники обмена пользуются одной таблицей, текст читается одинаково на любом устройстве.

Однобайтовые кодировки

Исторически первой широко распространилась таблица ASCII, в которой символ кодируется 7 битами, что даёт 128 различных символов: латинские буквы, цифры и служебные знаки. Позже таблицу расширили до 8 бит (1 байт), и стало доступно 256 символов. В русскоязычных однобайтовых кодировках (например, Windows-1251 или KOI8-R) вторая половина таблицы отведена под буквы кириллицы.

Главный принцип: один символ — один байт. Тогда информационный объём текста легко подсчитать.

Кодировка Юникод

Чтобы хранить символы всех письменностей мира, создали стандарт Unicode. В распространённой форме записи UTF-8 символ занимает от 1 до 4 байт: латиница — 1 байт, кириллица — обычно 2 байта.

КодировкаБит на символЧисло символов
ASCII7128
Однобайтовая (Windows-1251)8256
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, где учитываются все символы, включая пробелы.