我有一些wave文件(.wav),我需要将它们转换为base64编码的字符串。您能否指导我如何在Python / C / C ++中做到这一点?
@ ForceBru的答案
import base64
enc=base64.b64encode(open("file.wav").read())
有一个问题。我注意到我对某些WAV文件进行了编码,生成的字符串比预期的要短。
[open()的Python文档说]
如果省略模式,则默认为'r'。默认设置为使用文本模式,该模式可以在书写时将“ \ n”字符转换为特定于平台的表示形式,并在读取时将其转换为特定平台的表示形式。因此,打开二进制文件时,应在模式值后附加“ b”以二进制模式打开文件,这将提高可移植性。
因此,该代码段不会以二进制形式读取。因此,应使用以下代码以获得更好的输出。
import base64
enc = base64.b64encode(open("file.wav", "rb").read())