Base64 — стандарт кодирования байтов при помощи только 64 символов (A-Z, a-z и 0-9 (62 знака) и 2 дополнительных символа, зависящих от системы реализации).
Одним байтом можно закодировать 256 значений (28 бит), в то время как Base64 только 64 (26 бит).
Из этого следует соотношение 28 + 28 + 28 = 26 + 26 + 26 + 26, т.е. каждые 3 исходных байта кодируются в 4 байта.
Можно вывести формулу:
[Кол-во байт в Base64] = ([Исходное кол-во байт] / 3) * 4 или [Кол-во байт в Base64] = 4 * [Исходное кол-во байт] / 3 или [Кол-во байт в Base64] = 4/3 * [Исходное кол-во байт]
Например: Файл размером 1500 байт в Base64 будет занимать 2000 байт (т.е. на 1/3 больше).
Рассмотрим обратную задачу: есть Base64-строка и нужно понять сколько это будет байтов при раскодировке. Из формул выше можно выразить исходное кол-во байт:
[Исходное кол-во байт] = 3/4 * [Кол-во байт в Base64] или [Исходное кол-во байт] = 0.75 * [Кол-во байт в Base64]
Например: Base64-строка размером 2000 байт, декодируется в 1500 байт (т.е. на 1/4 меньше);