Menu
Coddy logo textTech

Что такое байт?

Байт это единица цифровых данных из 8 битов, которые вместе могут представить 256 разных значений, от 0 до 255. На большинстве компьютеров это наименьшая единица памяти с собственным адресом, и размеры файлов считают в байтах.

Автор: Kevin Spektor, Сооснователь и CTO

Обновлено 24 сентября 2026 г.

128
64
32
16
8
4
2
1
Десятичное65
Hex41
Символ ASCIIA
  • 48H
  • 69i
  • 20␣
  • F0 9F 98 80😀

Символов: 4, байтов: 7

Буква A на твоём компьютере хранится как число 65, а число 65 хранится как восемь битов: 01000001. Эта группа из восьми и есть байт. Адреса памяти считают байты, размеры файлов считают байты, и почти любой тип данных в языке программирования занимает целое число байтов.

Почему в байте 8 битов

Слово «byte» придумал Вернер Бухгольц в 1956 году, когда работал над компьютером IBM Stretch. Он написал его через y, чтобы его не приняли за «bit». Ранние компьютеры использовали группы разного размера, часто по 6 битов, чего хватало на заглавные буквы и цифры, но не на строчные.

IBM System/360, выпущенная в 1964 году, использовала 8-битные байты, и остальная отрасль последовала за ней. Восемь битов дают 256 значений, а это место для заглавных и строчных букв, цифр, знаков препинания и управляющих кодов. Восемь к тому же степень двойки, поэтому байт делится ровно на две половины по 4 бита, и каждая записывается одной шестнадцатеричной цифрой. Сетевые стандарты до сих пор говорят «октет», когда нужно точно указать, что имеются в виду ровно 8 битов.

Что вмещает один байт

У байта 256 возможных комбинаций, от 00000000 до 11111111. Программы читают их несколькими стандартными способами:

  • как беззнаковое число от 0 до 255;
  • как знаковое число от -128 до 127;
  • как один символ, например A (65) или ! (33);
  • как две шестнадцатеричные цифры, от 00 до FF.

Тип bytes в Python это последовательность таких значений, и он отвергает всё, что выходит за пределы от 0 до 255:

b'Hi!'
[72, 105, 33]
01001000 48
ValueError: bytes must be in range(0, 256)

Не каждый символ помещается в один байт. UTF-8, кодировка большей части интернета, хранит 128 символов ASCII по 1 байту, а всё остальное от 2 до 4 байтов:

A 1 bytes: [65] 41
é 2 bytes: [195, 169] c3a9
€ 3 bytes: [226, 130, 172] e282ac
😀 4 bytes: [240, 159, 152, 128] f09f9880

Поэтому длина строки в символах и её размер в байтах могут различаться.

Бит и байт: в чём разница

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

БитБайт
Что этоОдна двоичная цифра8 битов
Возможные значения2 (0 или 1)256 (от 0 до 255)
Обозначениеb (строчная), по-русски битB (заглавная), по-русски Б
Чем обычно измеряютСкорость сети: Мбит/с, Гбит/сОбъём памяти и размер файлов: КБ, МБ, ГБ
ПримерПодключение на 100 Мбит/сФотография на 5 МБ

Чтобы перевести биты в байты, раздели на 8. Подключение на 100 Мбит/с передаёт не больше 12,5 МБ в секунду, поэтому фотография на 5 МБ скачивается через него как минимум 0,4 секунды.

Килобайты, мегабайты и гигабайты

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

Десятичные (СИ)БайтовДвоичные (МЭК)Байтов
килобайт (кБ)1 000кибибайт (КиБ)1 024
мегабайт (МБ)1 000 000мебибайт (МиБ)1 048 576
гигабайт (ГБ)1 000 000 000гибибайт (ГиБ)1 073 741 824
терабайт (ТБ)1 000 000 000 000тебибайт (ТиБ)1 099 511 627 776

Производители дисков, скорости сети и macOS (начиная с версии 10.6 в 2009 году) используют десятичные единицы. Объём оперативной памяти и Windows используют двоичные единицы, но Windows подписывает их как КБ, МБ и ГБ. МЭК ввела названия кибибайт, мебибайт и гибибайт в 1998 году, чтобы покончить с путаницей, хотя многие программы до сих пор ими не пользуются.

1.0 TB (decimal, used on the box)
931.3 GiB (binary, what Windows calls GB)
12.5 MB per second

Никакое место не пропало. Диск вмещает триллион байтов, обещанный на коробке; просто Windows трижды делит на 1 024, а не на 1 000.

Байты в коде

Каждое значение в памяти занимает целое число байтов. В C это число сообщает sizeof. char по определению занимает ровно 1 байт, а на современных 64-битных системах Linux, macOS и Windows short занимает 2 байта, int 4, а double 8. Поэтому массив из 1 000 значений int занимает 4 000 байтов.

printf("%zu\n", sizeof(int));   /* prints 4 */

Тип byte в Java всегда знаковый, от -128 до 127, поэтому значение вроде 200 в него не помещается:

byte b = (byte) 200;   // b is -56: the same 8 bits, read as signed

Сырые данные, например изображения, сжатые файлы и сетевые пакеты, обрабатывают как массив байтов: bytes и bytearray в Python, byte[] в Java, Uint8Array в JavaScript. Если открыть файл в Python в режиме "rb", получишь его байты, а не текст.

Хеши и контрольные суммы тоже измеряют в байтах. Дайджест SHA-256 занимает 32 байта, поэтому он выводится как 64 шестнадцатеричных символа, а контрольная сумма CRC32 занимает 4 байта. Генератор хешей показывает и то и другое для любого текста.

Что читать дальше

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

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

Как называются 8 битов 11111111?
Восемь битов это один байт, а 11111111 это байт, в котором все биты равны 1. Если читать его как беззнаковое число, это 255, наибольшее значение, которое вмещает байт, в шестнадцатеричной записи FF. Если читать его как знаковый байт в дополнительном коде, те же биты означают -1.
Почему 8 битов равны 1 байту?
Восемь это победившее соглашение, а не закон природы. IBM System/360, выпущенная в 1964 году, использовала 8-битные байты, и почти все компьютеры с тех пор последовали её примеру. Восемь битов дают 256 значений, этого хватает на заглавные и строчные буквы, цифры и символы, а 8 это степень двойки, что упрощает аппаратуру и арифметику.
Почему 4 бита называют ниблом (полубайтом)?
Нибл (nibble) это половина байта, и английское название построено на игре слов: byte звучит как bite, «укус», а nibble значит «кусочек». Четыре бита дают 16 значений, ровно одну шестнадцатеричную цифру, поэтому байт всегда записывают двумя шестнадцатеричными цифрами, по одной на полубайт. Иногда слово пишут как nybble.
1 байт это 4 бита?
Нет. Один байт это 8 битов. Четыре бита это половина байта, её называют полубайтом или ниблом.
Что больше, байт или гигабайт?
Гигабайт намного больше: это миллиард байтов (1 000 000 000) в десятичной системе, которой пользуются производители дисков, или 1 073 741 824 байта в двоичной системе, которой пользуется Windows. Байт это базовая единица, а килобайты, мегабайты и гигабайты кратны ему.
Как выглядит один байт?
Один байт это ряд из восьми нулей и единиц, например 01000001. Эта комбинация означает число 65, а это ещё и код буквы A в ASCII. Программисты обычно записывают байт двумя шестнадцатеричными цифрами, поэтому 01000001 превращается в 41.
Coddy programming languages illustration

Учитесь программировать с Coddy

НАЧАТЬ