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

Практическая работа 2.1 Кодирование текстовой информации

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

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

Кратко о теме

Кодирование текстовой информации — это представление каждого символа текста числовым кодом, который компьютер хранит в двоичном виде. Кодовая таблица связывает буквы, цифры, пробелы и знаки с конкретными числами. В работе нужно научиться находить коды символов, переводить их в двоичную систему, расшифровывать последовательности и вычислять размер текста. Также важно различать ASCII, Windows-1251 и Unicode, потому что одинаковые символы в разных кодировках могут иметь разные коды.

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

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

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

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

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

ASCII — стандарт кодирования латинских букв, цифр, знаков препинания и управляющих символов. В нём 128 основных кодов, поэтому русских букв в исходной таблице нет. ASCII удобен для простых текстов и совместим с большим числом старых программ.

Unicode — универсальный стандарт кодирования символов разных языков и письменностей. Он позволяет использовать в одном тексте русские, английские, китайские символы, математические знаки и эмодзи. Конкретный размер хранения зависит от выбранного способа записи Unicode, например UTF-8.

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

Компьютер не хранит буквы непосредственно, потому что его память работает с битами — значениями 0 и 1. Электронным схемам легко различать два состояния, а не множество отдельных букв. Поэтому каждому символу заранее назначают число, а это число записывают последовательностью битов.

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

Числовой код сначала обычно записан в десятичной системе, например 65. Чтобы получить его двоичный вид, число переводят в систему счисления с основанием 2: 65 = 1000001₂. При хранении код часто дополняют ведущими нулями до полного байта, поэтому 65 можно записать как 01000001.

Разные кодировки назначают символам разные номера, потому что используют разные таблицы и правила распределения кодов. Например, русская буква в Windows-1251 и та же буква в Unicode могут быть представлены неодинаковыми числами. Если открыть файл по другой таблице, программа прочитает правильные числа, но покажет не те символы.

Число битов на символ определяет, сколько разных комбинаций возможно: n бит дают 2ⁿ кодов. Один байт содержит 8 бит и позволяет получить 256 комбинаций. Чем больше памяти отводится символу, тем больше знаков можно кодировать, но тем больше может стать размер файла; в переменных кодировках размер зависит ещё и от самого символа.

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

ХарактеристикаASCIIWindows-1251Unicode
Количество возможных кодов128256Более 1 000 000 кодовых позиций
Какие символы кодируютсяЛатиница, цифры, знаки и управляющие символыЛатиница, кириллица, цифры и знакиСимволы разных языков, письменностей и специальные знаки
Количество битов на символ7 бит, обычно 1 байт8 бит, 1 байтЗависит от UTF: обычно от 8 до 32 бит
Поддержка русского языкаНет в исходной таблицеДаДа
Совместимость с другими языкамиОграниченнаяОграниченная для языков с другими алфавитамиВысокая
Пример примененияСтарые программы и сетевые протоколыСтарые русскоязычные программы WindowsСовременные сайты, приложения и базы данных

Сначала определите, какие символы поддерживает кодировка, затем сравните размер одного символа. Для точного расчёта в случае Unicode нужно знать конкретный формат, например UTF-8 или UTF-16. Таблица помогает понять, почему один и тот же текст может занимать разный объём.

Разбор задач

Определение кодов символов

Условие: по таблице ASCII определить числовой и двоичный коды символов A, b и 7. Нужно не угадывать двоичную запись, а сначала найти десятичный код каждого знака. Затем каждый код переводится в систему счисления с основанием 2.

  1. В таблице находим: A = 65, b = 98, 7 = 55.
  2. Переводим 65: 65 = 64 + 1, поэтому 65 = 1000001₂, или 01000001 в одном байте.
  3. Переводим 98: 98 = 64 + 32 + 2, поэтому 98 = 1100010₂, или 01100010 в одном байте.
  4. Переводим 55: 55 = 32 + 16 + 4 + 2 + 1, поэтому 55 = 110111₂, или 00110111 в одном байте.

Ответ: A — 65 и 01000001₂, b — 98 и 01100010₂, 7 — 55 и 00110111₂. Ведущие нули не меняют значение числа, но показывают полный размер байта.

Расшифровка последовательности

Условие: расшифровать последовательность ASCII-кодов 72, 105, 33. Каждый код обозначает один символ, поэтому порядок чисел менять нельзя.

  1. По ASCII находим символ для кода 72: это H.
  2. Для кода 105 находим символ i.
  3. Коду 33 соответствует восклицательный знак.
  4. Соединяем найденные символы в исходной последовательности.

Ответ: Hi! Проверка проста: количество полученных символов должно совпадать с количеством числовых кодов, а для русского текста нужно было бы использовать таблицу, которая поддерживает кириллицу.

Сравнение объёма текста

Условие: сравнить размер сообщения из 100 русских символов в Windows-1251 и UTF-8. Считаем только символы сообщения, а каждый русский символ в UTF-8 занимает 2 байта.

  1. В Windows-1251 один символ занимает 1 байт: 100 × 1 = 100 байт.
  2. В UTF-8 русский символ занимает 2 байта: 100 × 2 = 200 байт.
  3. Сравниваем результаты: 200 − 100 = 100 байт, то есть UTF-8 требует вдвое больше места для такого сообщения.

Ответ: в Windows-1251 сообщение занимает 100 байт, а в UTF-8 — 200 байт. Если в тексте есть латинские символы, пробелы или знаки, расчёт нужно выполнять с учётом размера каждого конкретного символа.

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

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

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

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

Считают объём только по числу букв. Один и тот же текст занимает разный объём при разном размере кода символа. Умножайте общее число символов на байты одного символа, а для переменной кодировки учитывайте тип каждого знака.

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

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

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

Знания применяются в текстовых редакторах, веб-страницах, базах данных и программировании. Выбор кодировки влияет на отображение текста, передачу данных и объём хранения.

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

  • Компьютер хранит текст как последовательность числовых кодов символов.
  • Кодовая таблица задаёт соответствие между символом и его кодом.
  • Один и тот же символ может иметь разные коды в разных кодировках.
  • ASCII содержит основные латинские символы, цифры и знаки.
  • Unicode предназначен для кодирования символов разных языков.
  • Объём текста зависит от количества символов и размера кода одного символа.
  • При декодировании необходимо использовать ту же кодировку, что и при кодировании.

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

Почему компьютер не может хранить буквы непосредственно?

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

Чем отличаются ASCII, Windows-1251 и Unicode?

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

Почему вместо русского текста иногда отображаются непонятные символы?

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

Как определить объём текстового сообщения в памяти компьютера?

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

Всегда ли один символ занимает один байт?

Нет. В одних кодировках символ может занимать один байт, а в Unicode, например UTF-8, разные символы занимают от одного до четырёх байтов.

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

Практическая работа 2.1 Кодирование текстовой информации

Учебник

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