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

11.2. Текст

"Информатика. Учебное пособие для учреждений общего среднего образования с русским языком обучения", В. М. Котов, А. И. Лапо, Ю.А. Быкадоров, Е.Н. Войтехович

Объяснение темы В оглавлении: 11.2. Текст

Кратко о теме

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

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

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

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

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

Символ — отдельный элемент текстового сообщения: буква, цифра, знак препинания, пробел или специальный знак. Например, в записи «9 класс» есть цифра, пробел и буквы. Пробел тоже считается символом, потому что он разделяет части текста и влияет на его чтение. Понятие нужно, чтобы считать элементы сообщения и определять, как их представить в компьютере.

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

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

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

Сначала человек составляет сообщение из символов: букв, пробелов, цифр и знаков. Затем текстовый редактор представляет каждый символ кодом, а коды записываются в виде данных, доступных компьютеру. В результате порядок знаков сохраняется, но внутри файла текст представлен не изображениями букв, а последовательностью чисел. Такое представление позволяет устройству копировать, искать и изменять текст с помощью программ.

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

Число доступных комбинаций определяется количеством двоичных разрядов. У каждого разряда есть два варианта — 0 или 1, поэтому для n разрядов получается 2ⁿ сочетаний: например, при 2 разрядах это 00, 01, 10 и 11. Следовательно, 8 разрядов дают 2⁸ = 256 возможных кодов. Это число показывает вместимость набора кодов, а не количество символов в конкретном сообщении; таблица может использовать лишь часть доступных сочетаний.

В однобайтовом кодировании для кода отводится один байт, то есть 8 двоичных разрядов. Поэтому всего доступно 256 комбинаций, и набор символов ограничен: в таблице приходится выбирать, какие буквы и знаки включить. Unicode предназначен для представления символов разных языков и письменностей, чтобы не требовались отдельные несовместимые наборы для каждой группы знаков. При этом Unicode — не обещание, что каждый символ занимает один байт: размер зависит от конкретного формата кодирования.

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

Представление текстовых данных в компьютере

ХарактеристикаОднобайтовое кодированиеUnicode
Принцип представления символаСимволу соответствует код длиной в один байт.Символу соответствует код Unicode, представленный в выбранном формате кодирования.
Размер кодаОдин байт, то есть 8 разрядов.Зависит от формата кодирования; возможны разные размеры.
Количество и состав представимых символовДо 256 кодов; набор знаков ограничен таблицей.Большой набор символов разных языков и письменностей.
Использование для разных языковДля разных языков могут требоваться разные таблицы.Предназначен для представления символов многих языков в общем стандарте.
Что происходит при несовпадении кодировокКоды могут показываться как другие знаки.При неверном выборе формата или кодировки символы также могут отображаться неправильно.

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

Разбор задач

Задача 1. Сколько различных кодов можно составить из 8 двоичных разрядов? Нужно выяснить число всех комбинаций, а не перечислять символы, которым их можно назначить. Каждый разряд может принимать одно из двух значений: 0 или 1. Поэтому для восьми разрядов применяем правило 2ⁿ, где n — число разрядов.

  1. Определяем число разрядов: n = 8.
  2. Подставляем его в правило: число комбинаций равно 2⁸.
  3. Вычисляем степень: 2⁸ = 256.

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

Задача 2. Текст содержит 120 символов. Сколько байтов потребуется для хранения, если каждый символ кодируется одним байтом? Здесь уже задан размер кода каждого символа, поэтому сначала связываем число символов с объёмом одного кода. Каждый символ занимает один байт, а повторные символы тоже учитываются: важно количество знаков в сообщении, а не количество разных букв. Дополнительные сведения о форматировании или служебных данных в условии не указаны, поэтому их не прибавляем.

  1. Записываем количество символов: 120.
  2. Учитываем размер кода: 1 байт на каждый символ.
  3. Умножаем: 120 × 1 = 120 байтов.

Ответ: для хранения символов потребуется 120 байтов. Расчёт верен именно при условии, что каждый знак занимает один байт и не учитываются дополнительные данные файла. В другой кодировке ответ может отличаться, если символы хранятся кодами иной длины.

Задача 3. Файл с русским текстом открыли в программе с другой кодировкой, и знаки отображаются неверно. Почему это произошло и как исправить? В файле записаны числовые коды символов, а программа должна сопоставить их с буквами по таблице. Если программа выбрала не ту таблицу, числа прочитаны верно как данные, но истолкованы по другим правилам. Поэтому для исправления сначала следует проверить способ кодирования, с которым файл был сохранён.

  1. Устанавливаем причину: кодировка программы не совпадает с кодировкой файла.
  2. Понимаем результат: программа показывает символы, назначенные этим числам в другой таблице.
  3. Выбираем в настройках открытия кодировку, в которой текст был создан, и проверяем отображение.

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

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

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

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

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

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

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

Чтобы понять кодирование текста, нужно знать двоичное представление информации и уметь переводить числа из двоичной системы счисления. Связь с измерением объёма информации помогает оценить размер текстового файла: он зависит от количества символов и числа байтов, нужных для их кодов. Знание кодировок пригодится при сохранении и обмене файлами, работе в текстовых редакторах и обработке текста программами. Эти правила позволяют отличить ошибку отображения от проблемы с самими данными.

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

  • Текст состоит из упорядоченной последовательности символов.
  • Компьютер представляет символы числовыми кодами.
  • Кодовая таблица задаёт соответствие между символом и его кодом.
  • Из n двоичных разрядов можно получить 2ⁿ различных комбинаций.
  • Размер текстовых данных зависит от числа символов и способа их кодирования.
  • Для корректного отображения текста программа должна правильно интерпретировать его кодировку.

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

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

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

Сколько разных символов можно закодировать одним байтом?

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

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

Размер зависит от количества символов и от того, сколько места занимает код каждого из них. В одних кодировках символ может занимать один байт, а в других — несколько байтов.

Что такое Unicode и зачем он нужен?

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

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

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

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

11.2. Текст

Учебник

Оглавление →
Предмет
Информатика
Класс
9 класс
Учебник
"Информатика. Учебное пособие для учреждений общего среднего образования с русским языком обучения", В. М. Котов, А. И. Лапо, Ю.А. Быкадоров, Е.Н. Войтехович