我有一些wave文件(.wav),我需要用base64编码的字符串转换它们。你能指导我如何在Python / C / C ++中做到这一点吗?
答案 0 :(得分:4)
最简单的方法
from base64 import b64encode
f=open("file.wav")
enc=b64encode(f.read())
f.close()
现在enc
包含编码值。
您可以使用简化版本:
import base64
enc=base64.b64encode(open("file.wav").read())
有关文件的base64编码的示例,请参阅this file。
Here您可以看到字符串的base64转换。我认为对文件做同样的事情并不困难。
答案 1 :(得分:2)
@ ForceBru的回答
import base64
ENC = base64.b64encode(开放(" file.wav"。)读())
有一个问题。我注意到我编写的一些WAV文件,生成的字符串比预期的短。
用于" open()"的Python文档说
如果省略mode,则默认为' r'。 默认设置是使用文字模式,可以转换' \ n'在写作和回读时的字符特定表示。因此,在打开二进制文件时,您应该附加' b'到模式值以二进制模式打开文件,这将提高可移植性。
因此,代码片段不会以二进制形式读取。因此,下面的代码应该用于更好的输出。
import base64
enc = base64.b64encode(open("file.wav","rb").read())