Как преобразовать Base64 в изображение PNG
Вставьте полную Base64-строку изображения, оставьте PNG или выберите другой формат, затем запустите преобразование. Пустые, повреждённые и неподходящие данные могут привести к неуспешному результату.}осква? No. Need JSON valid. Continue.
Вставьте полную Base64-строку изображения, оставьте PNG или выберите другой формат, затем запустите преобразование. Пустые, повреждённые и неподходящие данные могут привести к неуспешному результату.
Назначение преобразования Base64
Base64 представляет двоичные данные в текстовом виде, поэтому такую строку нельзя просмотреть как изображение без предварительного преобразования. Инструмент принимает Base64-данные, декодирует их как изображение и повторно кодирует результат в выбранном формате. Если формат не указан, используется PNG.
Такой способ подходит, когда изображение передано в текстовом поле, в составе Data URI или в другом значении, которое нужно проверить и преобразовать. До начала работы убедитесь, что исходное значение относится именно к изображению, а не к произвольному тексту или фрагменту JSON. Входной параметр необязателен и по умолчанию содержит пустую строку, но пустое значение не даёт изображения. Неполная, повреждённая или неподходящая строка также может завершить операцию неуспешно. Результат зависит от того, удалось ли декодировать данные, открыть изображение и снова записать его в выбранном формате.
Если вы используете PNG, дополнительных настроек обычно не требуется. Для другого формата его нужно указать отдельно и затем оценить полученный результат.
Порядок действий в инструменте
-
Подготовьте исходное значение Base64. Скопируйте строку полностью и не добавляйте к ней пояснения, кавычки или служебный текст, если их не было в исходных данных.
-
Откройте инструмент и вставьте строку в поле для Base64. Пустое поле считается отсутствующим входом, поэтому проверьте, что после вставки в нём действительно есть данные.
-
Если строка начинается с Data URI, например
data:image/png;base64,, оставьте префикс вместе с остальным значением. При наличии запятой обрабатывается весь текст после первой запятой. Если встречается вторая запятая, текст после неё игнорируется. Лишний разделитель способен отделить часть данных от фрагмента, который будет разобран. -
Выберите формат результата или оставьте значение по умолчанию, то есть PNG. Текст формата приводится к верхнему регистру. Значение
JPGнормализуется до JPEG, поэтому для JPEG допустимо использовать любой из этих вариантов. -
Запустите преобразование штатным способом и дождитесь результата. Инструмент декодирует Base64, открывает получившиеся данные как изображение и кодирует изображение заново. Перед записью в JPEG изображение в режиме RGBA или палитровом режиме переводится в RGB.
-
Если результат неуспешен, сначала восстановите исходную строку, проверьте расположение запятых и отдельно повторите операцию с нужным форматом. Меняйте только один параметр за раз, чтобы различить ошибку входных данных и проблему кодирования.
Проверка результата и ограничения
Успешный результат показывает, что вход удалось декодировать, полученные данные распознались как изображение, а повторное кодирование завершилось выбранным способом. Такое состояние не доказывает происхождение исходной строки и не заменяет проверку самого изображения.
При выборе PNG результат формируется в PNG, если обработка прошла без ошибки. При выборе JPEG возможна перемена визуального представления прозрачных участков: режим RGB не сохраняет альфа-канал как отдельную прозрачность. Это особенно важно для изображений в режиме RGBA или с палитрой. Поэтому после преобразования JPEG проверьте фон и края объекта.
Неуспешный результат возможен, когда обработка изображения недоступна, вход не предоставлен, декодирование или открытие данных не удалось либо произошла ошибка при кодировании. Непустое значение само по себе не подтверждает, что перед вами корректное изображение. Если в поле формата указать неизвестный текст, нельзя заранее считать, что результат получит соответствующий ему тип: для заявленного типа предусмотрен откат к image/png.
Для проверки причины повторите операцию с исходной строкой без изменений и оставьте PNG. Затем отдельно проверьте другой формат, не меняя Base64. Такой порядок помогает понять, связана ли проблема с содержимым, разбором Data URI или финальной записью.
Практический пример
Вы получили однопиксельное PNG как Data URI и проверяете, распознаётся ли его полная строка как изображение без изменения формата.
Передайте строку data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNk+A8AAQUBAScY42YAAAAASUVORK5CYII= без изменений и оставьте формат PNG. Пользователь должен увидеть успешный результат изображения в PNG, если данные декодируются и открываются корректно.
Успешный результат изображения в формате PNG с возможностью дальнейшего просмотра или сохранения результата пользователем после операции.
Ограничения
- Операция не гарантирует успех для каждого текстового значения; при JPEG режимы RGBA и палитры переводятся в RGB, а неизвестный формат может привести к типу
image/png.
Частые ошибки
- Причина может быть в лишней запятой или обрезанном фрагменте после префикса Data URI. Удалите постороннюю часть после второго разделителя, восстановите исходное значение и повторите преобразование.
Частые вопросы
Можно ли преобразовать любую строку Base64 в изображение?
Успех возможен только тогда, когда строка декодируется, данные открываются как изображение, а повторное кодирование завершается без ошибки. Непустой текст сам по себе этого не гарантирует, поэтому проверьте происхождение и целостность значения.
Какой формат изображения выбрать?
Если формат не задан, инструмент использует PNG. Для JPEG можно выбрать JPEG или JPG, поскольку второе значение нормализуется; неизвестный текст не гарантирует соответствующий тип результата и может привести к image/png.
Что делать со строкой data:image/...;base64,?
Сохраните весь Data URI, включая его начало. После первой запятой берётся оставшийся текст, а при второй запятой часть после неё игнорируется, поэтому лишний разделитель нужно убрать вместе с посторонним фрагментом.