Восстановление файла из неизвестного Base64
Base64 обычно не хранит надёжное имя. Magic bytes помогают определить MIME и расширение изображений, PDF, ZIP, шрифтов, аудио, видео, текста и других форматов.
Пробелы удаляются, допустимый padding добавляется, а неверные символы отклоняются до создания загрузки.
Magic bytes важнее заявленного MIME
MIME в Data URL может быть неверным. Результат определяется распознанными байтами, а расхождение явно показывается.
Для PNG, JPEG, GIF, PDF, ZIP, WebP и WAV также проверяется окончание или длина контейнера. Это не полная валидация.
Локальный предпросмотр без запуска содержимого
Изображения, PDF и вероятный UTF-8-текст показываются безопасно. HTML, XML и SVG не вставляются как активный DOM.
Архивы, шрифты, аудио, видео, программы и неизвестные данные доступны только для скачивания.
Конфиденциальность и границы безопасности
Всё выполняется в этой вкладке без загрузки на сервер, учётной записи и удалённых URL.
Определение формата не является антивирусом. Не доверяйте неизвестным файлам.
Частые ошибки и причины
- Недопустимые символы, смешанные алфавиты или неверный padding.
- Остаток длины 1 невозможно дополнить до Base64.
- Отсутствует ожидаемый конец или длина — файл может быть обрезан.
- Неизвестная сигнатура сохраняется как .bin.
Эквивалентные команды
Используйте доступную среду или оболочку. Проверяйте недоверенные данные и не выводите бинарные данные прямо в терминал.
Python
from pathlib import Path
import base64
Path('decoded.bin').write_bytes(base64.b64decode(value, validate=True))
JavaScript
import { writeFileSync } from 'node:fs';
writeFileSync('decoded.bin', Buffer.from(value, 'base64'));
Shell
base64 --decode payload.base64 > decoded.bin
file decoded.bin
Стандарты и официальные источники
Вопросы о файлах Base64
Как преобразовать Base64 в файл?
Вставьте значение, декодируйте, проверьте тип и скачайте исходные байты.
Определяется ли расширение?
Для известных сигнатур — да, но Base64 не хранит исходное имя.
Поддерживаются Base64URL и отсутствующий padding?
Да. - и _ нормализуются, допустимый padding добавляется.
Видно ли обрезанный файл?
У некоторых форматов проверяется конец; неизвестная целостность не означает полноту.
Что можно просмотреть?
Изображения, PDF и UTF-8-текст. Активная разметка и программы не запускаются.
Файл отправляется на сервер?
Нет. Обработка и Blob-загрузка локальны.