将WAV转换为base64

问题描述 投票:2回答:2

我有一些wave文件(.wav),我需要将它们转换为base64编码的字符串。您能否指导我如何在Python / C / C ++中做到这一点?

c python-2.7 audio wav
2个回答
5
投票

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编码的示例,请参见this file


C ++

Here,您可以看到字符串的base64转换。我认为对文件执行相同操作并不难。


4
投票

@ 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())
© www.soinside.com 2019 - 2024. All rights reserved.