Кодировка текста
Кодировка текста — это правило, по которому каждому символу ставится в соответствие числовой код, а затем этот код записывается в файл в виде последовательности битов и байтов. Благодаря кодировке программа может сохранить и правильно восстановить текст.
Текстовый файл хранит не сами буквы, а их коды. Например, программа получает символ «A», находит его код в выбранной кодировке и записывает соответствующее число. При чтении файла программа использует ту же кодировку, чтобы преобразовать числа обратно в символы. Правила хранения текста относятся к текстовому формату, а конкретные соответствия символов и чисел описывает кодирование символов в файле.
Количество битов для одного символа
Если в алфавите \(N\) различных символов, для хранения кода одного символа нужно не менее \(i\) битов. Число битов должно быть целым, поэтому результат округляют вверх.
Если в тексте \(K\) символов и каждый символ занимает \(i\) битов, объём данных без дополнительных служебных сведений равен \(K \cdot i\) битов. На практике кодировки могут использовать разное число байтов для разных символов.
Алфавит содержит 32 символа. Так как \(2^5=32\), для кода одного символа достаточно 5 битов. Текст из 100 таких символов займёт \(100\cdot5=500\) битов, или \(62{,}5\) байта; в памяти это потребует 63 байта при побайтовом хранении.
Кодировка — это правило соответствия символов и чисел. Конверсия форматов изменяет представление или структуру файла, а не просто выбирает таблицу кодов. Если открыть файл не в той кодировке, появляются неправильные знаки, например «кракозябры».
Сколько битов нужно минимум для кодирования одного символа алфавита из 70 символов?
Главное
- Кодировка задаёт соответствие между символами и числовыми кодами.
- Для алфавита из \(N\) символов нужно минимум \(\lceil\log_2 N\rceil\) битов на символ.
- Открывать текстовый файл следует в той же кодировке, в которой он был сохранён.