C 将WAV转换为base64
我有一些wave文件(.wav),我需要将它们转换为base64编码的字符串。你能指导我如何在Python/C/C++中实现这一点吗?Python 最简单的方法C 将WAV转换为base64,c,python-2.7,audio,wav,C,Python 2.7,Audio,Wav,我有一些wave文件(.wav),我需要将它们转换为base64编码的字符串。你能指导我如何在Python/C/C++中实现这一点吗?Python 最简单的方法 from base64 import b64encode f=open("file.wav") enc=b64encode(f.read()) f.close() 现在enc包含编码值 您可以使用稍微简化的版本: import base64 enc=base64.b64encode(open("fil
from base64 import b64encode
f=open("file.wav")
enc=b64encode(f.read())
f.close()
现在enc
包含编码值
您可以使用稍微简化的版本:
import base64
enc=base64.b64encode(open("file.wav").read())
C 有关文件的base64编码示例,请参见
C++ 您可以看到字符串的base64转换。我认为对文件也这样做不会太困难。@ForceBru的答案
import base64
enc=base64.b64encode(open("file.wav").read())
有一个问题。我注意到,对于一些我编码的WAV文件,生成的字符串比预期的短
“open()”的Python文档
如果省略模式,则默认为“r”。
默认情况下使用文本模式,该模式可以在写入时将“\n”字符转换为平台特定的表示形式,在读取时再转换回平台特定的表示形式。因此,在打开二进制文件时,应该在mode值后附加“b”,以二进制模式打开文件,这将提高可移植性
因此,代码段不会以二进制形式读取。因此,应使用以下代码以获得更好的输出
import base64
enc = base64.b64encode(open("file.wav", "rb").read())