Кодировать изображения в Base64 на Python

Преобразуйте изображения в Base64 строку. Поддерживаются SVG, JPG, JPEG, PNG, BMP, GIF, TIFF, ICO, IFIF, WEBP и другие форматы изображений.

Кодировка Base64

Base64 – это схема кодирования, преобразующая двоичные данные в текст ASCII, часто используемая для передачи данных через Интернет. При преобразовании изображения в Base64 результатом является строка из латинских букв, цифр и двух символов – «+» и «/». Браузеры могут без проблем интерпретировать эти кодированные данные. Другими словами, Base64 – это кодировка двоичного кода в текст, который можно встраивать в различные форматы, такие как JSON, XML, URI данных или CSS.

Base64 широко используется для встраивания изображений или других двоичных ресурсов непосредственно в файлы HTML или CSS. Это устраняет необходимость в дополнительных веб-запросах, поскольку изображение уже включено в HTML-документ. Однако Base64 лучше всего подходит для небольших изображений; большие изображения в кодировке Base64 могут раздуть HTML, что приведет к снижению производительности. Следует также отметить, что Google никогда не будет индексировать изображение Base64, поскольку оно не отображается при поиске изображений.


Конвертировать изображение в Base64 онлайн

Кодируйте изображения с помощью Aspose.SVG for .NET API в режиме реального времени! Загрузите изображение из локальной файловой системы, и вы немедленно получите результат в виде data URI, Base64 Image для встраивания в HTML и CSS Background. Поддерживаются JPG, JPEG, PJP, PJPEG, PNG, BMP, XBM, GIF, TIFF, ICO, IFIF, WEBP и другие форматы изображений.



Преобразование изображения в Base64 на Python

В этой статье рассматривается, как кодировать файл изображения в строку Base64 с помощью Aspose.SVG for Python via .NET API. В следующем примере Python показано, как преобразовать изображение SVG в строку Base64 и внедрить его в файл SVG.

Код Python для преобразования изображения SVG в Base64

import base64
from aspose.svg import SVGDocument


document_path = "image.svg"

# Open an SVG image
with open(document_path, "rb") as file:
    bytes_data = file.read()

# Initialize an SVGDocument object
document = SVGDocument()

# Create an image element
img_element = document.create_element_ns("http://www.w3.org/2000/svg", "image")

# Convert SVG image to Base64 and set the href attribute
encoded_image = f"data:image/svg+xml;charset=utf-8;base64,{base64.b64encode(bytes_data).decode('utf-8')}"
img_element.set_attribute("href", encoded_image)

# Add the image element to the SVG document
document.document_element.append_child(img_element)

# Save the SVG document
document.save("image-base64.svg")

Фрагмент полученного файла image-base64.svg показан ниже. Строка Base64 была обрезана, чтобы не загромождать пример кода SVG. Формат для встраивания изображения Base64 в качестве данных URI следующий:

data:[<mime type>][;charset=<charset>][;base64],<encoded data>

SVG-код для встраивания изображения Base64

<svg xmlns="http://www.w3.org/2000/svg">
	<image href="data:image/svg+xml;charset=utf-8;base64,PHN2ZyB3aWR0aD0iNTAwIiBoZWlnaHQ..." alt="Alt text for the image"/>
</svg>



Встроить изображение Base64 в HTML

Зачем конвертировать изображение в Base64? Изображения в кодировке Base64 можно встроить непосредственно в HTML с помощью тега <img>, вставив данные изображения в качестве URI данных. Этот метод уменьшает количество HTTP-запросов, необходимых браузеру для загрузки веб-страницы, повышая производительность. В следующем фрагменте кода показано, как встроить изображения Base64 в HTML.

HTML-код для встраивания изображения Base64 в качестве URI данных

<body>
    <div>
        <img src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAwIiBoZWlnaHQ..." alt="Alt text for the image">
    </div>
</body>

URI данных состоит из двух частей, разделенных запятой. Первая часть определяет заголовок схемы URI данных для изображения в кодировке Base64, а вторая часть определяет непосредственно строку изображения в кодировке Base64:

  1. data:image/svg+xml;base64 – это заголовок схемы URI данных.
  2. PHN2ZyB3aWR0aD0iNTAwIiBoZWlnaHQ... – это закодированные данные Base64.



Встроить изображение Base64 в CSS код

Другой способ уменьшить количество HTTP-запросов изображений – использовать свойство CSS background-image. Это свойство устанавливает изображения в качестве фона элемента, и вы можете указать каждое изображение либо как URL-адрес, либо как URI данных изображения. При использовании URL-адреса браузер отправляет HTTP-запрос для получения внешнего изображения, но если изображение Base64 встроено в качестве URI данных, изображение напрямую включается в документ. Это означает, что браузеру не нужно выполнять какие-либо дополнительные HTTP-запросы, что ускоряет загрузку страницы.

CSS-код для встраивания изображения Base64 в качестве URI данных

body {
    background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAwIiBoZWlnaHQ...");
}



Встроить изображение Base64 в XML

Кодирование изображений в Base64 для встраивания в XML упрощает интеграцию и повышает переносимость, позволяя включать изображения непосредственно в этот формат, уменьшая необходимость во внешних ссылках на файлы.

XML-код со встроенным SVG-изображением Base64.

<?xml version="1.0" encoding="UTF-8"?>
<root>
<image mime = "image/svg+xml">PHN2ZyB3aWR0aD0iNTAwIiBoZWlnaHQ...</image>
</root>



Встроить изображение Base64 в JSON

Преобразование изображения в Base64 и сохранение его в формате JSON полезно для встраивания непосредственно в веб-страницы или приложения без дополнительных HTTP-запросов.

Код JSON со встроенным изображением Base64

{
  "image": {
    "mime": "image/png",
    "data": "PHN2ZyB3aWR0aD0iNTAwIiBoZWlnaHQ..."
  }
}

Онлайн-кодировщики Base64

Онлайн кодировщики Base64 преобразуют содержимое документов SVG или файлов изображений в эквивалентное строковое представление, кодированное цифрами Base64. Они также предоставляют примеры для URI данных, JSON, XML и других. Инструменты кодирования помогают избежать различных проблем с кодированием данных, из-за которых содержимое веб-сайта или сообщения электронной почты становятся нечитаемыми. Кодировщики Base64 безопасны, просты в использовании и совершенно бесплатны. Они работают в любом браузере и в любой операционной системе. Конвертируйте изображение в Base64 бесплатно прямо сейчас!

Начало работы с Python API

Если вы хотите разрабатывать масштабируемую векторную графику и приложения к ней, установите наш гибкий и высокоскоростной Aspose.SVG for Python via .NET API. pip – это самый простой способ загрузить и установить Aspose.SVG for Python via .NET. Для этого выполните следующую команду:

pip install aspose-svg-net

Более подробную информацию об установке библиотеки Python и системных требованиях можно найти в Документации Aspose.SVG. .

Другие поддерживаемые Кодировщики

Вы можете кодировать изображение в Base64 – поддерживаются форматы JPG, PNG, BMP, GIF, TIFF, ICO и SVG:

  • PNG to Base64
  • JPG to Base64
  • PNG to XML
  • JPG to XML