Декодировать base64 svg данные в файл svg

У меня есть файл, содержащий изображение svg, кодированное base64 (data-uri). Файл начинается с

данные: изображения /SVG + XML; base64, НЗП....

Как декодировать это в .svg файле в Linux?

Ответ 1

Вы можете скопировать/вставить строку (data:image и т.д.) в строку url современного браузера; он расшифрует его для вас, тогда вы можете просто сохранить страницу как svg.

Ответ 3

Вы можете использовать, например, base64 --decode < "your base64 data here". И вам, вероятно, нужно снять фрагмент data:image/svg+xml;base64,, прежде чем передавать его.

Ответ 5

Чтобы ответить на вопрос ОП:

Как декодировать это в файл .svg в Linux?

Поскольку в linux по умолчанию установлен python, я предлагаю использовать скрипт python.

Вот рабочий пример:

import base64 

#change "YOURFILE" with the name of your original file
with open("YOURFILE", "rb") as f: encoded = f.read()

encoded = encoded.replace("data:image/svg+xml;base64,", "")
decoded = base64.b64decode(encoded)

#change "NEWFILE" with the name that you want to give your new svg 
with open("NEWFILE.svg", "wb") as f: f.write(decoded)

Если вы новичок в Python, просто скопируйте и вставьте приведенный выше код в файл с расширением .py, например, aaabbb.py а затем выполните его так:

python aaabbb.py