Однобайтная кодировка

Одноба́йтная кодиро́вка (англ. Single-Byte Character Set, SBCS) — это способ кодирования текстовой информации, при котором каждый символ представляется последовательностью из одного байта, то есть 8 битами[1]. Это позволяет закодировать ровно 256 различных символов (2⁸ = 256). Однобайтные кодировки широко использовались в ранних компьютерных системах и до сих пор применяются для представления алфавитов европейских языков[1].

Общие сведения
Однобайтная кодировка
Область использования Программирование
Ключевые слова ASCII, Кодовая страница, Юникод

История

Первой широко распространённой кодировкой стала ASCII (American Standard Code for Information Interchange). Она определяла символы в диапазоне от 0x00 до 0x7F, то есть использовала только 7 бит, что позволяло закодировать 128 символов (буквы латинского алфавита, цифры, знаки препинания и управляющие символы)[2][1].

undefined

Для поддержки национальных алфавитов (в первую очередь европейских) были разработаны 8-битные однобайтные кодировки. В них символы в диапазоне 0x00–0x7F полностью совпадают с ASCII, а старшая половина (0x80–0xFF) используется для хранения символов национальных алфавитов, псевдографики и дополнительных знаков[1]. Таким образом, однобайтовая кодировка представляет собой расширение ASCII.

Типы

Для русского языка и других языков на основе кириллицы было создано несколько однобайтных кодовых таблиц. Основные из них:

Название Описание
Windows-1251 (CP1251) Наиболее распространённая кодировка для кириллицы в операционных системах Windows. Создана компанией Microsoft.
КОИ-8 Кодировка, разработанная для использования в системах на базе UNIX. Имеет несколько вариантов (КОИ-8R — для русского языка).
CP866 Кодировка, использовавшаяся в операционной системе MS-DOS для кириллицы.
MacCyrillic Кодировка для русских шрифтов в операционных системах Mac OS производства Apple.
ISO 8859-5 Кодировка кириллицы, утверждённая в качестве стандарта Международной организацией по стандартизации (ISO).

Описание

У данного вида кодировок есть несколько преимуществ и недостатков.

Преимущества:

  • Простота: каждый символ занимает фиксированное количество памяти (1 байт), что упрощает обработку строк, вычисление длины и доступ к отдельным символам.
  • Экономия памяти: по сравнению с многобайтовыми кодировками, однобайтовые используют меньше места для хранения текста на языках с алфавитом до 256 символов.

Недостатки и ограничения:

  • Ограниченный набор символов: 256 символов недостаточно для представления алфавитов таких языков, как японский, китайский или корейский, где используются тысячи иероглифов[1].
  • Конфликт кодировок: один и тот же двоичный код в разных кодовых страницах может означать разные символы. Это приводит к проблемам с отображением текста («кракозябры») при открытии файла, созданного в другой кодировке.
  • Невозможность смешивания языков: в одном документе, закодированном однобайтовой кодировкой, нельзя одновременно использовать, например, кириллицу и иероглифы.

Однобайтовые кодировки и Юникод

В настоящее время однобайтные кодировки постепенно вытесняются стандартом Юникод (Unicode), который является многобайтовым и позволяет закодировать символы практически всех письменностей мира. Однако однобайтовые кодировки по-прежнему используются в некоторых системах[3][4], особенно во встроенных устройствах с ограниченными ресурсами, или для хранения текстов на европейских языках[5].

Хотя однобайтовые наборы символов в современных системах в значительной степени вытеснены кодировками Unicode , они нашли свою нишу в игре в «код-гольф» , где меньший размер символов позволяет участникам получить преимущество, если они используют однобайтовую кодировку с языками программирования, которые облегчают их использование для повышения компактности кода, такими как Vyxal и GolfScript .

⚠️ Подсказка для ЕГЭ/ОГЭ

Для успешной сдачи ЕГЭ по теме «Однобайтовая кодировка символов» необходимо усвоить, что это способ представления текстовой информации в компьютере, при котором каждый символ кодируется одним байтом (8 битами), что позволяет закодировать различных символов (включая заглавные и строчные буквы, цифры, знаки препинания, управляющие символы и буквы национальных алфавитов). Ключевое отличие от многобайтовых кодировок (UTF-8, UTF-16) — ограниченный набор символов, что делает их непригодными для всех языков мира, но удобными для хранения текстов на одном языке (например, KOI-8R для русского, CP1251 для Windows-кириллицы, ASCII — только 7-битная часть для английского).

Для ЕГЭ важно:

  • знать, что информационный вес одного символа в однобайтовой кодировке равен 1 байту = 8 бит, поэтому объём текста в байтах равен числу символов ();
  • различать кодовые страницы (например, для кириллицы — CP866, CP1251, KOI-8R), которые по-разному сопоставляют байты и символы, поэтому один и тот же байт может отображаться как разные буквы в разных кодировках;
  • знать стандарт ASCII (первые 128 символов — латиница, цифры, знаки, управляющие коды), а также расширенную часть (128–255) — для национальных алфавитов.
  • В заданиях ЕГЭ могут попросить: рассчитать объём памяти для хранения текста при известной кодировке, определить информационный объём символа, сравнить объёмы при однобайтовой и многобайтовой кодировках, или указать кодовую страницу по таблице символов. Частые ошибки: путают 7-битную ASCII (128 символов) с 8-битными кодировками, не учитывают, что в однобайтовой кодировке все символы имеют фиксированную длину (1 байт), а в многобайтовой — переменную, и забывают про управляющие символы (коды 0–31), которые тоже занимают байт.
  • Систематизируйте через блок «определение (8 бит → 256 символов) → примеры (ASCII, CP1251, KOI-8R) → расчёт объёма (V = N) → сравнение с UTF-8 → частные ошибки».

Пример задачи

Текстовый документ, состоящий из 2048 символов, сохранён в однобайтовой кодировке. Каков информационный объём этого документа в килобайтах?

Решение:

1. Каждый символ занимает 1 байт.

2. Объём документа: 2048 символов × 1 байт = 2048 байт.

3. Переводим в килобайты: 2048 / 1024 = 2 Кбайт.

При решении задач на кодирование текстовой информации на экзамене по информатике важно помнить следующие моменты:

  • При использовании однобайтовой кодировки информационный вес одного символа равен 1 байту (8 бит).
  • Информационный объём текста в однобайтовой кодировке рассчитывается как произведение количества символов на 1 байт.
  • Для решения задач на кодирование символов необходимо уметь переводить единицы измерения информации: биты → байты → килобайты → мегабайты.
  • Важно знать, что в однобайтовой кодировке можно закодировать не более 256 символов[2].

Примечания

  1. 1 2 3 4 5 Однобайтовые и многобайтовые кодировки. Microsoft Learn (3 ноября 2016). Дата обращения: 26 августа 2026.
  2. 1 2 Кодирование текстовой информации. Облако знаний. Дата обращения: 26 августа 2026.
  3. Переладов Александр Борисович, Камкин Иван Павлович, Анохин Андрей Викторович. Методика оценки теплонапряженности процесса шлифования // Вестник Курганского государственного университета. — 2012. — № 2 (24).
  4. Газалов Владимир Сергеевич, Брагинец Андрей Валерьевич, Моренко Константин Сергеевич, Беленов Виталий Николаевич. Модульный автоматизированный комплекс гелиоводонагревательной установки для сельскохозяйственных объектов // Политематический сетевой электронный научный журнал Кубанского государственного аграрного университета. — 2015. — № 113.
  5. Дягилев Вадим Викторович, Цхай Александр Андреевич, Бутаков Сергей Владимирович. Архитектура сервиса определения плагиата, исключающая возможность нарушения авторских прав // Вестник Новосибирского государственного университета. Серия: Информационные технологии. — 2011. — № 3.

Литература

  • Информатика. 8 класс : учебное пособие / И. Г. Семакин, Л. А. Залогова, С. В. Русаков, Л. В. Шестакова ; под ред. И. Г. Семакина. — Москва : БИНОМ. Лаборатория знаний, 2020. — 176 с. : ил.