На Горох
Информатика, 8 класс

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

"Информатика (изд. "БИНОМ. Лаборатория знаний")", Угринович Н.Д.

Объяснение темы В оглавлении: 2.1. Кодирование текстовой информации

Кратко о теме

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

Объяснение темы

Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.

Определения и обозначения

Алфавит — конечное множество символов, используемых для записи текста. В него могут входить буквы, цифры, знаки препинания и пробел. Это понятие нужно, чтобы определить, какие знаки вообще требуется закодировать.

Мощность алфавита — количество символов, входящих в алфавит. Например, если в наборе 32 разных знака, его мощность равна 32. По мощности можно узнать, сколько двоичных разрядов понадобится для обозначения любого символа.

Кодирование текста — представление символов текста с помощью числовых или двоичных кодов. Компьютер работает с электрическими состояниями, которые удобно обозначать нулём и единицей, поэтому буквы заменяются последовательностями битов. Так текст можно хранить в памяти и передавать между устройствами.

Кодовая таблица — соответствие между символами алфавита и их кодами. Например, таблица указывает, какой код нужно записать для буквы или знака вопроса. Одинаковая таблица у отправителя и получателя позволяет восстановить исходный текст без подмены символов.

Как это устроено

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

Мощность алфавита определяет минимальную длину кода: кодов должно хватить для всех символов. Если используется n двоичных разрядов, первый разряд имеет 2 варианта, второй тоже 2, и так далее. Поэтому общее число комбинаций равно 2n, а минимальное n находят из условия 2n ≥ M, где M — мощность алфавита.

ASCII — ранняя система кодирования с базовым набором из 128 символов, включая латинские буквы, цифры, знаки препинания и служебные символы; для него достаточно 7 бит. Расширенная ASCII использует 8 бит и может содержать 256 знаков, но варианты расширения различались. Национальные кодировки, например KOI8-R и Windows-1251, добавляли кириллицу, однако наборы символов у них были разными.

Unicode создан для единого представления символов разных языков, математических знаков и других письменностей. В школьной модели часто считают, что один символ Unicode занимает 16 бит, то есть 2 байта. Поэтому Unicode охватывает больше знаков, чем однобайтные кодировки, но для простого текста может требовать больше памяти.

Информационный объём сообщения находят умножением количества символов на размер кода одного символа: I = K · i. Здесь K — длина текста в символах, а i — число битов на один символ. Если код каждого знака одинаковой длины, расчёт выполняется напрямую; полученный результат в битах делят на 8 для перевода в байты.

Основные системы кодирования текстовой информации

Система кодированияРазмер кода одного символаКакие символы охватываетОсобенности применения
ASCII7 битЛатинские буквы, цифры, знаки и управляющие символыБазовый международный набор, 128 символов
Расширенная ASCII8 битСимволы ASCII и дополнительные знакиДо 256 символов, варианты зависят от стандарта
KOI8-R8 битЛатиница, кириллица, цифры и знакиИспользовалась главным образом для русского языка
Windows-12518 битКириллица, латиница, цифры и знакиРаспространённая кодировка русскоязычной Windows
Unicode16 бит в школьной моделиСимволы множества языков и письменностейЕдиный широкий набор символов

Таблица помогает выбрать размер кода и понять, какие символы можно записать без замены. Для вычисления объёма сообщения сначала находят число битов на один символ в нужной строке. Нельзя автоматически считать любой текст однобайтным: это зависит от конкретной кодировки.

Разбор задач

Задача 1. Алфавит содержит 32 символа. Сколько двоичных разрядов необходимо для кодирования одного символа? Нужно подобрать наименьшую длину кода, которой хватит для всех знаков.

  1. Проверим степени двойки: 2⁴ = 16, этого недостаточно.
  2. Следующая степень — 2⁵ = 32, она ровно совпадает с мощностью алфавита.
  3. Значит, каждый символ можно обозначить пятиразрядной двоичной последовательностью.

Ответ: 5 двоичных разрядов.

Задача 2. Сообщение состоит из 40 символов, каждый кодируется восемью битами. Определим информационный объём сначала в битах, а затем в байтах.

  1. В одном символе 8 бит, поэтому для 40 символов получаем I = 40 · 8 = 320 бит.
  2. В одном байте 8 бит, значит, переводим объём: 320 : 8 = 40 байт.
  3. Деление выполняется без округления, поскольку число битов кратно восьми.

Ответ: 320 бит, или 40 байт.

Задача 3. Текст содержит 120 символов и кодируется в Unicode шестнадцатью битами на символ. Сравним его объём с объёмом того же текста в восьмибитной кодировке.

  1. Для Unicode: 120 · 16 = 1920 бит, или 1920 : 8 = 240 байт.
  2. Для восьмибитной кодировки: 120 · 8 = 960 бит, или 120 байт.
  3. Сравниваем результаты: 1920 : 960 = 2, поэтому при заданных условиях Unicode требует в два раза больше памяти.

Ответ: Unicode — 1920 бит, 240 байт; восьмибитная кодировка — 960 бит, 120 байт. Больший объём Unicode объясняется вдвое большей длиной кода одного символа.

Типичные ошибки

Путают мощность алфавита с длиной текста. Мощность показывает число возможных символов, а длина — сколько знаков встретилось в конкретном сообщении. Проверьте себя вопросом: считаю я весь набор знаков или один текст?

Берут число разрядов, равное мощности алфавита. Разряды не нужно считать по одному на символ: проверяют степени двойки и выбирают минимальное n, для которого 2n не меньше мощности. Полезно выписать две соседние степени, чтобы убедиться в минимальности.

Считают, что один символ всегда занимает один байт. Размер кода задаётся кодировкой: символ может занимать 7, 8 или 16 бит и другое число в современных форматах. Перед расчётом найдите в условии количество битов на символ.

Забывают переводить биты в байты или неверно округляют результат. Используйте правило 8 бит = 1 байт и делите, а не умножайте, когда переходите от битов к байтам. Если деление не даёт целого числа, проверьте условие и способ округления, а не округляйте автоматически.

Связь с другими темами

До изучения темы нужны двоичная система счисления, единицы измерения информации и правило перевода битов в байты. Без них трудно понять число комбинаций и правильно вычислять объём сообщения.

Дальше эти знания пригодятся при изучении хранения текстовых файлов, кодировок Unicode и передачи данных по компьютерным сетям. От кодировки зависит, как файл будет прочитан другой программой.

Тот же общий принцип используется для представления чисел, изображений и звука: объект заменяют кодами, удобными для хранения и обработки компьютером. Меняются наборы данных и способы кодирования, но идея соответствия остаётся.

Что запомнить

  • Текст в компьютере хранится как последовательность числовых кодов символов.
  • Алфавит задаёт множество символов, а его мощность равна количеству этих символов.
  • n двоичных разрядов позволяют закодировать 2n различных символов.
  • Длина кода одного символа зависит от выбранной системы кодирования.
  • Кодовая таблица устанавливает соответствие между символами и кодами.
  • Информационный объём текста равен произведению количества символов на размер кода одного символа.
  • Unicode позволяет кодировать значительно больше символов, чем однобайтные кодировки.

Частые вопросы по теме

Почему один и тот же текст может занимать разный объём в разных кодировках?

Кодировки могут использовать разное количество битов для одного символа и поддерживать разные наборы знаков. Поэтому при одинаковом числе символов объём текста зависит от выбранной кодировки.

Зачем нужна кодовая таблица?

Кодовая таблица показывает, какой числовой или двоичный код соответствует каждому символу. Благодаря ей компьютер правильно сохраняет, передаёт и отображает текст.

Почему для 256 символов достаточно восьми бит?

Каждый бит имеет два значения, поэтому 8 бит дают 2⁸ = 256 различных комбинаций. Этого достаточно, чтобы пронумеровать 256 символов.

Чем Unicode отличается от ASCII?

ASCII содержит небольшой набор символов, главным образом латинские буквы, цифры и знаки. Unicode предназначен для символов множества языков и потому охватывает гораздо больше знаков.

Как узнать информационный объём текстового сообщения?

Нужно умножить количество символов на число битов, используемых для кодирования одного символа. Если результат требуется в байтах, его делят на 8.

Спросить по теме параграфа

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

Эта же тема в других учебниках

Учебник

Оглавление →
Предмет
Информатика
Класс
8 класс
Учебник
"Информатика (изд. "БИНОМ. Лаборатория знаний")", Угринович Н.Д.