"Информатика (в 2 частях)", Могилев А.В., Могилева В.Н., Цветкова М.С.
Текст состоит из символов, а компьютер работает с сигналами, которые удобно различать как 0 и 1. Поэтому каждому символу алфавита назначают двоичный код, а из кодов символов составляют код всего текста. Разобравшись в мощности алфавита, длине кода и кодировке, можно определить, сколько бит занимает сообщение, понять принцип хранения текста и объяснить, почему при неверной кодировке появляются непонятные знаки.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Алфавит — конечный набор символов, используемых для представления текста. В него могут входить буквы, цифры, знаки препинания и пробел. Понятие алфавита помогает определить, какие именно знаки нужно уметь кодировать.
Мощность алфавита — количество символов в алфавите. Каждый символ должен иметь собственный код, чтобы компьютер мог отличать его от остальных. Мощность обозначают буквой N, если требуется подсчитать число возможных символов.
Кодирование текста — представление символов текста с помощью кодов, понятных компьютеру. Для каждого знака выбирают соответствующее ему обозначение, а затем записывают коды всех знаков по порядку. Так компьютер получает форму текста, с которой может работать.
Двоичный код — последовательность нулей и единиц, используемая для представления символов в компьютере. Один такой знак называют битом. Из двоичных кодов отдельных символов составляется двоичная запись всего сообщения.
Человек воспринимает текст как слова и предложения, а компьютер должен хранить его в виде электрических состояний. Такие состояния удобно обозначать двумя значениями: 0 и 1. Поэтому символы переводят в двоичные последовательности, которые устройство может записать, передать и обработать.
Сначала выбирают алфавит и ставят каждому его символу в соответствие код. Например, одному знаку может соответствовать 010, а другому — 111. Код всего текста получают последовательным соединением кодов всех символов, включая пробелы и знаки препинания.
Количество возможных кодов зависит от числа битов. Если код имеет длину k бит, на каждой позиции можно выбрать 0 или 1, поэтому всего получается 2ᵏ последовательностей. Для алфавита из N символов нужно выбрать такую длину, чтобы 2ᵏ ≥ N, иначе некоторым символам не хватит разных кодов.
Правило соответствия символов и кодов называют кодировкой. Разные кодировки могут назначать одному и тому же символу разные двоичные последовательности, а одинаковые последовательности трактовать по-разному. Поэтому при записи и чтении должна использоваться одна кодировка, иначе вместо букв могут появиться неправильные знаки.
Объём текста находят по числу символов и длине их кодов. Если в сообщении L символов и каждый занимает k бит, объём равен L · k бит; затем биты можно перевести в байты, разделив на 8. При кодах разной длины объём считают сложением длин кодов всех отдельных символов.
| Способ или параметр | Как представляется текст | Что определяет | Пример или замечание |
|---|---|---|---|
| Естественный язык | Слова и знаки привычного письменного языка | Смысл текста для читателя | Русский язык |
| Формальный язык | Символы и правила заданного языка | Однозначность записи и обработки | Язык программирования |
| Двоичное кодирование | Каждому символу сопоставляется двоичная последовательность | Представление текста в памяти компьютера | Код символа состоит из битов |
| Мощность алфавита | Количество символов, которые требуется кодировать | Минимальную длину кода фиксированной длины | Для N символов выбирают k так, чтобы 2ᵏ ≥ N |
Сначала определите, о каком способе или параметре идёт речь, а затем смотрите на его назначение. Строки про языки описывают, как человек или система записывает смысл и правила, а строка про двоичное кодирование — как текст хранится в компьютере. Последняя строка помогает выбрать длину кода по мощности алфавита.
В алфавите 8 символов. Нужно найти длину кода фиксированной длины, достаточную для одного символа. Ищем не любое подходящее число битов, а наименьшее возможное.
Ответ: достаточно 3 бит на один символ. Каждый символ можно сопоставить с одной из восьми последовательностей длиной 3.
Алфавит содержит 32 символа, а длина кода равна 5 битам. Нужно узнать число доступных кодов и сравнить его с мощностью алфавита. Сравнение показывает, хватает ли всех комбинаций для кодирования.
Ответ: можно закодировать 32 различных символа, и для данного алфавита кодов достаточно. Все возможные комбинации будут использованы.
Текст содержит 120 символов, включая пробелы, а каждый символ кодируется 8 битами. Сначала найдём общий объём в битах, затем переведём его в байты. Пробелы уже входят в указанные 120 символов, поэтому отдельно добавлять их не нужно.
Ответ: объём текста равен 960 бит, или 120 байт. Если бы в условии не были учтены пробелы, их количество пришлось бы прибавить к числу символов перед вычислением.
Путают мощность алфавита с длиной кода. Мощность показывает число символов, а длина кода — количество бит для одного символа. Проверьте себя вопросами: «Сколько знаков?» и «Сколько бит на знак?».
Выбирают слишком короткий код. Ошибка возникает, если взять k, для которого 2ᵏ меньше числа символов. Всегда вычисляйте количество доступных кодов и сравнивайте его с мощностью алфавита.
Считают только буквы. Пробелы, цифры и знаки препинания также занимают позиции в тексте и получают собственные коды. Перед вычислением пересчитайте все символы, включая невидимые пробелы.
Считают код символа неизменным. Его двоичное представление зависит от выбранной кодировки. Уточните, какая кодировка использована при записи и чтении, если отображение текста вызывает сомнения.
До изучения темы нужно понимать, что информация может передаваться разными знаками, а компьютер обрабатывает данные в двоичном виде. Это объясняет, почему обычные буквы приходится заменять последовательностями нулей и единиц.
Тема связана с умением считать в двоичной системе и переводить биты в байты. Эти навыки нужны при вычислении числа кодов и объёма текстового сообщения.
Представление текста и кодирование пригодятся при изучении файлов, объёма данных и способов передачи информации. Те же идеи помогают понять работу памяти компьютера и обмен данными между устройствами.
Почему компьютер представляет текст нулями и единицами?
Электронным устройствам проще надёжно различать два состояния: есть сигнал или нет сигнала. Им соответствуют 1 и 0, поэтому любые данные, в том числе текст, переводятся в двоичный вид.
Чем алфавит отличается от кодировки?
Алфавит — это набор символов, например букв, цифр и знаков. Кодировка задаёт правило, по которому каждому символу этого набора назначается определённый код.
Как определить, сколько бит нужно для кодирования символа?
Нужно найти наименьшее целое k, для которого 2ᵏ не меньше количества символов в алфавите. Число k и будет длиной кода фиксированной длины для одного символа.
Почему в объём текста включают пробелы и знаки препинания?
Пробелы и знаки препинания тоже являются символами, которые компьютер записывает и хранит. Поэтому каждый из них занимает место в двоичном представлении текста.
Почему текст может отображаться неправильно при несовпадении кодировок?
При чтении программа использует правило, по которому переводит коды в символы. Если это правило отличается от использованного при записи, один и тот же набор битов превращается в другие знаки.
§ 5. Способы представления текстовой информации