将base64 svg数据解码为svg文件

Posted

技术标签:

【中文标题】将base64 svg数据解码为svg文件【英文标题】:decode base64 svg data to a svg file 【发布时间】:2014-03-29 03:06:50 【问题描述】:

我有一个包含 base64 编码 (data-uri) 的 svg 图像的文件。文件以

开头

data:image/svg+xml;base64,PHN....

如何在 linux 中将其解码为 .svg 文件?

【问题讨论】:

【参考方案1】:

您可以在现代浏览器的网址栏中复制/粘贴字符串(包括data:imageetc);它会为你解密,然后你可以简单地将页面保存为 svg。

【讨论】:

为浏览器网址栏中的复制/粘贴点赞。【参考方案2】:

您可以使用在线 base64 解码器,例如 http://www.base64decode.org/

【讨论】:

【参考方案3】:

解决 OP 问题:

如何在 linux 中将其解码为 .svg 文件?

由于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

【讨论】:

【参考方案4】:

您可以使用例如base64 --decode < "your base64 data here"。而且你可能需要在传递之前去掉data:image/svg+xml;base64, 部分。

【讨论】:

【参考方案5】:

或者你可以使用在线工具 http://www.hosting4free.info/Base64Decode/Base64-Decode.jsp

【讨论】:

【参考方案6】:

我使用SVG在线解码器,快速简单 https://base64.online/decoders/decode-base64-to-svg

【讨论】:

以上是关于将base64 svg数据解码为svg文件的主要内容,如果未能解决你的问题,请参考以下文章

将svg转换为base64

用作 base-64 背景图像数据时如何更改 svg 填充颜色?

在节点中将 svg 图像从 url 转换为 base64

在节点中将 svg 图像从 url 转换为 base64

SVG 嵌入图像仅在浏览器中显示

如何在java中获取数据库中的svg