将WAV转换为base64

3

我有一些波形文件(.wav),需要将它们转换为base64编码的字符串。你能指导我如何在Python/C/C++中实现吗?

2个回答

8
@ForceBru的回答
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())

6

Python

最简单的方法

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转换。我认为对文件进行转换也不会太困难。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接