Конвертировать SVG в XML с помощью кодировки Base64
XML – это текстовый формат, и хотя он отлично подходит для структурирования данных, он не очень хорошо обрабатывает двоичные данные (например, изображения). SVG – это формат на основе XML, поэтому может показаться ненужным кодировать его в Base64 и сохранять как XML. Однако SVG может содержать специальные символы и другой нетекстовый контент. Таким образом, кодирование SVG в Base64 позволяет избежать потенциальных проблем с внедрением SVG в XML и целостностью всей структуры XML. Это гарантирует, что данные изображения останутся в безопасности и не будут испорчены при перемещении или хранении.
Как конвертировать SVG в XML на Python
Чтобы преобразовать SVG в XML, мы используем API Aspose.SVG for Python via .NET , который представляет собой многофункциональный, мощный и простой в использовании API для работы с документами для платформы Python. Мы рассмотрим пример кодирования SVG в Base64 и встраивания строки Base64 в XML-документ:
Код Python для преобразования SVG в XML
import base64
import os
from aspose.svg import *
from xml.etree.ElementTree import *
# Create a function to convert SVG to XML with Base64-encoded SVG data
def convert_svg_to_xml(svg_path, xml_path):
# Load an SVG document
document = SVGDocument(svg_path)
# Temporary file path to save the SVG content
temp_svg_path = "temp_output.svg"
try:
# Save the SVG content to a temporary file
document.save(temp_svg_path)
# Read the content from the temporary file
with open(temp_svg_path, "r", encoding="utf-8") as svg_file:
svg_content = svg_file.read()
# Encode the SVG content in Base64
encoded_svg = base64.b64encode(svg_content.encode("utf-8")).decode("utf-8")
# Create XML structure
root = Element("root")
image = SubElement(root, "image", mime="image/svg+xml")
image.text = encoded_svg
# Write the XML to the file
tree = ElementTree(root)
tree.write(xml_path, encoding="utf-8", xml_declaration=True)
finally:
# Clean up the temporary file
if os.path.exists(temp_svg_path):
os.remove(temp_svg_path)
# Example usage
input_svg = "image.svg"
output_xml = "image-base64.xml"
convert_svg_to_xml(input_svg, output_xml)
Действия по преобразованию SVG в XML на Python
- Используйте класс SVGDocument для загрузки содержимого SVG по указанному пути к файлу.
- Сохраните загруженный документ SVG во временный файл. Этот шаг облегчает чтение содержимого SVG в виде строки для кодирования.
- Откройте временный файл SVG и считайте его содержимое в строку. Преобразуйте эту строку в кодировку Base64, чтобы подготовить ее для встраивания в XML.
- Создайте объект XML, включающий тип MIME и данные SVG в кодировке Base64. Структурируйте XML по мере необходимости, используя соответствующие поля для данных изображения.
- Сохраните созданный объект XML по указанному пути к файлу. Этот XML-файл теперь будет содержать данные SVG в кодировке Base64.
- Удалите временный файл SVG, чтобы в системе не осталось ненужных файлов.
Объект XML обычно включает тип MIME изображения и закодированные данные, например:
XML-код со встроенным SVG-изображением Base64.
<?xml version="1.0" encoding="UTF-8"?>
<root>
<image mime = "image/svg+xml">base64_string...</image>
</root>
Онлайн-кодировщики Base64
Aspose.SVG предлагает бесплатные онлайн-приложения для кодирования и декодирования двоичных данных:
- Кодировщик Base64 представляют собой набор инструментов, позволяющих кодировать двоичные данные в различных выходных форматах: Plain Base64, JSON, XML, URI или CSS.
- Base64 Конвертер Изображений преобразует URI данных, содержащий строку Base64, в изображение путем вставки строки URI в элемент управления вводом.
Наши браузерные приложения работают на всех платформах, включая Windows, Linux, Mac OS, Android и iOS. Для вас не требуется регистрация или установка программного обеспечения. Начните использовать наши онлайн-инструменты кодирования/декодирования Base64 безопасно, надежно и просто!
FAQ
Aspose.SVG позволяет преобразовывать SVG в XML различными способами – онлайн или программно. Например, вы можете кодировать SVG в режиме реального времени с помощью онлайн приложения Кодировать SVG , которое быстро и качественно преобразует ваши файлы. Загрузите, кодируйте SVG и получите результат за несколько секунд! С другой стороны, вы можете использовать Aspose.SVG for Python via .NET API для программного преобразования SVG в XML.
Исторически многие форматы передачи и хранения данных, такие как HTML, XML и электронная почта, полагаются на текст, а не на двоичный код. Когда двоичные данные, например, в файлах SVG, необходимо встроить в эти текстовые форматы, становится необходимым кодирование Base64. Кодирование файлов SVG в Base64 позволяет безопасно встраивать их в схемы XML, JSON, CSS и URI без изменения во время транспортировки. Такой подход упрощает интеграцию, повышает переносимость и сокращает время загрузки за счет сокращения HTTP-запросов.
Кодирование Base64 – это метод преобразования двоичных данных в текстовый формат с использованием набора из 64 символов ASCII, которые безопасны для использования в текстовых форматах, таких как HTML, XML, JSON или электронная почта. Эта кодировка гарантирует, что двоичные данные, такие как изображения или файлы, могут быть внедрены, переданы или сохранены в системах, которые обрабатывают только текст без повреждения данных. Base64 обычно используется для внедрения изображений в веб-страницы, отправки файлов по электронной почте и хранения данных в текстовых форматах.
Нет, кодировка Base64 не влияет на качество изображения SVG. Кодировка Base64 – это способ представления двоичных данных в виде текста, и она сохраняет исходное качество SVG файла. Процесс кодирования просто преобразует SVG файл в текстовый формат, подходящий для внедрения в различные текстовые форматы, такие как JSON, XML или CSS.
Начало работы с 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
Вы можете преобразовать SVG в строку Base64 и сохранить ее как JSON, XML и CSS: