Подключиться через MCP →

Введите расчет

Математическая формула

Реклама

Результатов

Размер в Base64
1 336
байт
Исходный размер 1 000 bytes
Накладные расходы 33,6 %

Что делает калькулятор размера Base64?

Base64 — это схема кодирования, которая представляет двоичные данные с помощью 64 печатных символов ASCII. Её повсеместно применяют, чтобы встраивать изображения прямо в HTML/CSS (data URI), прикреплять файлы к письмам (MIME) и передавать двоичные данные внутри JSON или токенов. Поскольку Base64 превращает каждые 3 байта входных данных в 4 выходных символа, результат всегда получается больше исходника — примерно на 33%. Этот калькулятор точно покажет, насколько «потяжелеют» ваши данные после кодирования.

Как пользоваться

Укажите размер исходного файла или данных, выберите единицу измерения (байты, КБ, МБ или ГБ) и решите, нужно ли добавлять стандартный паддинг — завершающие символы =. Калькулятор выдаст итоговый размер в байтах и процент накладных расходов, которые добавляет кодирование.

Разбираем формулу

Стандартный Base64 обрабатывает данные группами по 3 байта. Каждая такая группа превращается ровно в 4 символа, а последняя неполная группа дополняется до 4 символов с помощью =. Поэтому размер с паддингом вычисляется так:

$$\text{размер\_в\_байтах} = 4 \times \left\lceil \frac{\text{исходные\_байты}}{3} \right\rceil$$

Если паддинг отключён, генерируются только реально необходимые символы: \(\left\lceil \frac{4 \times \text{исходные\_байты}}{3} \right\rceil\) — так удаётся сэкономить 1–2 символа на каждом кодировании.

Схема, показывающая преобразование 3 входных байтов в 4 выходных символа Base64
Base64 преобразует каждые 3 входных байта в 4 выходных символа (отсюда увеличение примерно на 33%).

Пример расчёта

Допустим, у вас файл размером 1 000 байт. Делим на 3 и получаем 333,33, округляем вверх (ceil) до 334, затем умножаем на 4: $$334 \times 4 = 1\,336 \text{ байт}$$ Накладные расходы составят \((1336 - 1000) / 1000 = 33{,}6\%\). Без паддинга результат был бы \(\left\lceil 4000/3 \right\rceil = \left\lceil 1333{,}33 \right\rceil = 1\,334\) байта.

Столбчатая диаграмма, сравнивающая исходный размер файла с увеличенным размером после кодирования Base64
Закодированный результат примерно на 33% больше исходных данных.

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

Почему Base64 всегда больше? Каждые 6 бит данных превращаются в один 8-битный символ ASCII, из-за чего теряется 25% эффективности — и объём вырастает примерно на 33%.

Учитываются ли переносы строк? Нет. Некоторые MIME-кодировщики вставляют перенос строки каждые 76 символов, что добавляет совсем немного объёма. Этот инструмент считает только «чистый» размер закодированных данных.

А что с data URI? В data URI добавляется ещё и префикс вида data:image/png;base64,. Чтобы узнать полную длину URI, прибавьте длину этой строки к размеру закодированных данных.

Объясненные ключевые термины

Base64
Схема кодирования, преобразующая двоичные данные в текст с использованием набора из 64 печатаемых символов ASCII (A–Z, a–z, 0–9, плюс + и /). Она позволяет двоичному содержимому безопасно передаваться через текстовые каналы, такие как тело электронного письма, JSON, XML и URL.
Группа из 3 байт / Блок из 4 символов
Base64 работает с фиксированными группами. Каждые 3 байта (24 бита) входных данных разбиваются на четыре 6-битных фрагмента, каждый сопоставляется одному символу Base64. Таким образом, 3 входных байта всегда становятся 4 выходными символами — коренная причина роста размера при кодировании.
Заполнение (=)
Когда длина входных данных не является точным кратным 3, последняя группа неполная. Кодировщик добавляет один или два символа =, чтобы длина выхода оставалась кратна 4. Один оставшийся байт дает два =; два оставшихся байта дают один =.
Надбавка
Дополнительный размер, добавляемый Base64 по сравнению с исходными данными. Поскольку 3 байта становятся 4 символами, закодированные данные примерно в \(4/3 \approx 1.333\) раза больше — увеличение примерно на 33% (немного больше, если учитывать заполнение и разрывы строк).
Data URI
Схема URL (например data:image/png;base64,iVBORw0KGgo…), которая встраивает содержимое файла, закодированное в Base64, непосредственно в документ, устраняя необходимость в отдельном сетевом запросе для небольших ресурсов.
Перенос строк MIME
При кодировании электронного письма (MIME) выходные данные Base64 разбиваются на строки длиной не более 76 символов, каждая заканчивается CRLF. Эти разрывы строк добавляют небольшой дополнительный размер сверх базового расширения на 33%.
Символ ASCII
Отдельный символ из 7-битного набора ASCII, кодируемый в один байт. Каждый символ выходных данных Base64 — это символ ASCII, поэтому длина закодированных данных в символах равна длине в байтах.
Последнее обновление: