Кодирование Base64: Полное руководство
Кодирование Base64 является фундаментальной техникой в вычислительной технике, которая преобразует бинарные данные в ASCII текст. Хотя концепция может показаться простой, понимание того, когда и как правильно использовать Base64, имеет решающее значение для веб-разработчиков, специалистов по безопасности и всех, кто работает с передачей данных.
Что такое Base64?
Base64 — это схема кодирования бинарных данных в текст, которая представляет бинарные данные с использованием набора из 64 печатных ASCII символов. Название происходит от 64 используемых символов: A-Z (26), a-z (26), 0-9 (10), и + и / (с = для заполнения). Основная цель Base64 — кодирование бинарных данных для безопасной передачи через текстовые системы. Email, URL и JSON были разработаны для текста и могут повредить бинарные данные. Base64 преобразует бинарные данные в безопасный текст. Base64 берет каждые 3 байта (24 бита) входных данных и преобразует их в 4 Base64 символа (по 6 битов каждый). Это означает приблизительно 33% увеличение размера. Заполнение символом = обрабатывает входные данные, не кратные 3. Base64 — это не сжатие — он увеличивает размер. Это не шифрование — любой может декодировать его мгновенно. Это чисто преобразование формата для безопасности символов.
Распространенные случаи использования
Data URI встраивают изображения непосредственно в HTML/CSS: <img src="data:image/png;base64,...">. Это уменьшает HTTP запросы для небольших изображений, но увеличивает размер. JSON API используют Base64 для бинарных данных, таких как загруженные изображения или файлы. Email вложения используют Base64 (MIME) для бинарных файлов. HTTP Basic Authentication кодирует учетные данные в Base64. JWT токены используют кодирование Base64URL для заголовка, полезной нагрузки и подписи. Браузерное localStorage хранит Base64-кодированные бинарные данные, так как поддерживает только строки. Base64 подходит для встраивания, передачи и сериализации — не для безопасности.
Накладные расходы Base64
Base64 преобразует каждые 3 байта в 4 символа: увеличение размера на 33.33%. Файл размером 1 МБ становится 1.33 МБ. Учитывайте эти накладные расходы при выборе использования Base64. Приемлемые накладные расходы: небольшие иконки менее 10-20 КБ, SVG, критические ресурсы, email вложения, API полезные нагрузки, где важна простота. Проблемные накладные расходы: большие изображения, высокочастотные API, мобильные устройства с ограниченной пропускной способностью, крупномасштабное хранение. Сжатие может компенсировать некоторые накладные расходы. Соображения кэширования важны — встроенный Base64 не может кэшироваться отдельно.
Попробовать инструмент
Кодировщик/Декодер Base64
Узнать больше
Что такое Base64?
Кодирование Base64 повсюду в веб-разработке. Это руководство объясняет, как оно работает и когда его эффективно использовать.
Base64 против шифрования
Опасно распространенное заблуждение состоит в том, что Base64 обеспечивает безопасность. Это не так. Понимание этой разницы критично для безопасности.
Вопросы и ответы
Кодировщик/Декодер Base64
Вопросы и ответы →