У меня есть файл, содержащий изображение svg, кодированное base64 (data-uri). Файл начинается с
данные: изображения /SVG + XML; base64, НЗП....
Как декодировать это в .svg файле в Linux?
Ответ 1
Вы можете скопировать/вставить строку (data:image и т.д.) в строку url современного браузера; он расшифрует его для вас, тогда вы можете просто сохранить страницу как svg.
Вы можете использовать, например, base64 --decode < "your base64 data here". И вам, вероятно, нужно снять фрагмент data:image/svg+xml;base64,, прежде чем передавать его.
Поскольку в 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 а затем выполните его так: