我有一些波形文件(.wav),需要将它们转换为base64编码的字符串。你能指导我如何在Python/C/C++中实现吗?
我有一些波形文件(.wav),需要将它们转换为base64编码的字符串。你能指导我如何在Python/C/C++中实现吗?
import base64
enc=base64.b64encode(open("file.wav").read())
有一个问题。我注意到对于一些WAV文件,我编码的字符串比预期的要短。
Python文档中关于"open()"的说明如下:
如果省略了模式,则默认为'r'。 默认使用文本模式,可能会将'\n'字符在写入时转换为特定于平台的表示形式,并在读取时返回。因此,当打开二进制文件时,应将'b'附加到模式值以以二进制模式打开文件,这将提高可移植性。
因此,代码片段不是以二进制方式读取的。因此,应该使用以下代码以获得更好的输出。
import base64
enc = base64.b64encode(open("file.wav", "rb").read())