Перейти к содержанию
MediaSchool

Кодирование текста: ASCII, восьмибитные кодировки и Unicode

Раздел «Представление информации». Кодовые таблицы ASCII и восьмибитных кодировок, назначение Unicode, зависимость записи символов от выбранной кодировки. Результат: находить код символа и объяснять, почему один текст может занимать разный объём; Unicode не означает одинаковое число байтов для каждого символа во всех форматах. Практика: определить коды нескольких символов средствами текстового процессора или по таблице и сравнить представление текста в заданных кодировках.

Открыт · Презентация · Методичка · Рабочий лист

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

По заданной таблице закодировать и восстановить короткий текст, различить ASCII, однобайтную Windows-1251 и UTF-8 и объяснить, почему смена шрифта не заменяет выбор верной кодировки.

Работай с выданными учебными данными. Все числовые ситуации и ответы помощника вымышлены. Сохраняй собственный результат отдельно от файла партнёра. Для заданий не нужны внешние аккаунты или обращение к настоящему ИИ.

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

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

ASCII и восьмибитные кодировки

В ASCII 128 кодов: латинские буквы, цифры, знаки и управляющие коды. Кириллицы в исходном ASCII нет. Семь бит различают 128 значений. В наших байтовых файлах ASCII помещён в один восьмибитный байт, старший бит равен нулю. Восьмибитные кодировки используют до 256 значений. Одна из них, Windows-1251, содержит кириллицу. Разные восьмибитные кодировки могут приписывать одним и тем же байтам разные символы.

Unicode и UTF-8

Unicode объединяет множество письменностей и задаёт кодовую позицию символа. UTF-8 — один из способов превратить эти позиции в байты. В UTF-8 одна кодовая позиция занимает от одного до четырёх байтов. Латинская A в T1 занимает один байт, кириллическая К — два. Поэтому правило «Unicode всегда два байта на символ» неверно. Здесь используем обычные отдельные буквы. Для составных видимых знаков и emoji подсчёт сложнее и выходит за рамки задания.

Иллюстрация поясняет понятие. Точные данные и правила задаются текстом урока.

Как читать T1

Сначала выбери строку символа, затем столбец кодировки. Например, латинская A имеет позицию 65 в Unicode и байт 65 в трёх показанных представлениях. Кириллическая К имеет позицию 1050, но её запись в Windows-1251 — байт 202, а в UTF-8 — два байта 208 и 154. Номер позиции и байтовая запись выполняют разные роли. Мы не переводим числа между системами счисления, а читаем готовую таблицу.

Шрифт и кодировка выполняют разные действия

Кодировка помогает определить символы по байтам. Шрифт задаёт форму изображения уже определённых символов. Если программа неверно прочитала байты, другой шрифт обычно нарисует те же ошибочно выбранные буквы. Отсутствующий в шрифте знак может выглядеть пустым квадратиком, но это другая проблема. Сначала выясни, какой текст и какая кодировка ожидаются. Экспериментировать нужно на учебной копии, сохраняя исходные байты.

Что именно сравниваем

В подготовленных TXT нет BOM и перевода строки. Их размер равен числу записанных байтов: файл с латинским AB! в UTF-8 содержит три байта, а для кириллицы длину надо определить по T1. Размер файла Word включает структуру документа и не равен простому подсчёту букв. Для честного сравнения фиксируем текст, кодировку и отсутствие дополнительных данных. Из одного названия файла нельзя вывести его размер или правильную кодировку.

Практика без личных данных

Локальная лаборатория читает только выбранные учебные файлы внутри браузера. Внешний сервис и аккаунт не нужны. До открытия файла запиши прогноз по T1, затем сравни наблюдение с прогнозом. Сохрани отдельный отчёт, где указаны имя файла, выбранное правило, прочитанный текст и число байтов. Если увидел искажённый текст, запиши это как результат неверного чтения и вернись к заявленной кодировке. Не выдавай догадку за определение кодировки по любым неизвестным данным.

Условия и данные

T1 · Фрагмент реальных таблиц, десятичные значения

СимволUnicode: позицияASCII в байтеWindows-1251UTF-8: байты
A (лат.)65656565
B (лат.)66666666
пробел32323232
!33333333
К (кир.)1050нет202208 154
О (кир.)1054нет206208 158
Т (кир.)1058нет210208 162

Сначала попробуй сам

A1. ASCII задаёт 128 кодов. Сколько бит достаточно для их различения? Содержит ли исходный ASCII кириллическую К? Почему для байтового файла можно говорить об одном байте на ASCII-код?

Подсказка при затруднении: Различай длину самого ASCII-кода и единицу хранения байтового файла.

K1. По данному фрагменту ASCII: A = 65, B = 66, пробел = 32, ! = 33. Закодируй текст «A B!». Кавычки не входят. Затем восстанови сообщение из байтов 66, 32, 65, 33.

Подсказка при затруднении: Сохрани порядок. Пробел имеет собственный код.

B1. Файл записан в Windows-1251, но программа прочитала его как UTF-8 и показала искажения. Одноклассник предлагает только сменить шрифт. Какой следующий шаг проверяет причину, сохраняя исходник?

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

R1 — новый случай. Новый текст «К A!»: кириллическая К, пробел, латинская A, !. По T1 найди число байтов в Windows-1251 и UTF-8. Можно ли записать весь текст исходным ASCII?

Подсказка: Раздели текст на четыре символа и сложи длины их записей.

Практика P1

А: тексты AB! и КОТ. Б: BA! и ТОК. По T1 запиши байты и их число в Windows-1251 и UTF-8. Затем в byte-lab.html открой свои готовые файлы, выбери заявленную кодировку, сравни текст и число байтов с прогнозом. Сохрани личный TXT-отчёт с именами файлов, правилом чтения и выводом.

Учитель заранее скачивает подготовленный набор и распаковывает его в учебную папку. Внутри учебные файлы и инструкция START.txt; установка программ не нужна.

  1. 1 мин: прочитай своё условие и найди файлы А или Б в распакованном наборе.
  2. 2 мин: каждый отдельно выпиши прогноз по T1.
  3. 3 мин А: открой свои три файла в лаборатории, меняя заявленную кодировку, сохрани отдельный отчёт. Б проверяет свою таблицу.
  4. 3 мин Б: нажми «Новый отчёт», затем выполни те же действия для своих файлов и сохрани свой отчёт.
  5. 1 мин: сравните прогнозы и наблюдения. Исправления вносит автор.

До начала укажи назначенный код места/пары и А/Б на личном листе и билете. Каждый выполняет свой шаг. Если работал на бумаге или по показу, отметь реальный режим; это не подтверждает сохранение файла.

Проверяем ответ ИИ

Вымышленный совет: «Unicode всегда хранит символ двумя байтами. Любую неверную кодировку можно исправить сменой шрифта». Найди две ошибки и приведи проверяемый пример.

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

Новый случай и помощь

D1 — резерв после основного. Резерв: у неизвестного файла ровно три байта. Доказывает ли это, что в нём три буквы или что он записан в ASCII? Объясни.

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

Если трудно читать, учитель читает полное условие. Допустимы короткие фразы, увеличенная печать и устное объяснение с записью взрослым. Сначала личная попытка, затем помощь. В T1 пробел обозначен словом «пробел»; в сообщении он остаётся одним символом. Сначала найди строку символа, затем столбец выбранной кодировки. Несколько чисел в одной ячейке UTF-8 — несколько байтов одной буквы.

Индивидуальный итог

Три минуты самостоятельно. Условия прочитай до начала; разбор открой после своей записи.

E1. Есть ли кириллические буквы в исходном ASCII?

E2. В UTF-8 A занимает 1 байт, К — 2, пробел — 1. Сколько байтов в тексте «A К» без кавычек и служебных данных? Покажи сумму.

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

Разбор после попытки

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

Материалы и самостоятельная проверка

В карточках — презентация «Сигнал», самостоятельный план учителя, рабочий лист, отдельный выходной билет и бумажная самопроверка. Интерактив ниже содержит шесть вопросов, пояснение к выбранному варианту и новые примеры после попытки. Это отдельные 5–7 минут после основного занятия или при самостоятельной работе.

Домашний перенос

На бумаге за 4–6 минут: по T1 запиши байты текста «ТОП» в Windows-1251 и UTF-8 только в той части, для которой таблицы достаточно. Если для какого-то символа данных нет, укажи это. Затем для текста «ТОК!» найди число байтов в Windows-1251 и UTF-8. Кавычки не входят, служебных данных нет.

Источники

Урок соотнесён с федеральной рабочей программой базового курса информатики 7–9 классов и рекомендациями на 2026/27. ИИ включён в предметные примеры с проверкой вымышленного совета. Команды редактора и правила кабинета учитель уточняет перед занятием.

Самопроверка

Проверь себя

6 вопросов по теме «Кодирование текста». Выбери ответ, прочитай объяснение и попробуй ещё раз, если ошибся.

Открыть отдельно

Вопрос 1 из 6

Тренировка
Какое утверждение об исходном ASCII верно?

Без отметки и ограничения времени. Первый ответ учитывается отдельно от исправлений. При обновлении страницы ответы сбросятся.

Скачать и открыть

Материалы урока

6 материалов

Подготовка к уроку

2 материала

Рабочие листы и практика

3 материала

Проверка знаний

1 материал

От сообщества

Материалы сообщества0

Дополнения от учителей к этому уроку. Проверены модерацией, но не являются редакционным контентом MediaSchool.

Поделиться материалом

Поделитесь первым материалом

Рабочий лист, презентация или методичка помогут другим учителям подготовиться к уроку.

Комментарии

Войдите, чтобы оставлять комментарии.

Пока нет комментариев. Будьте первым!