将WAV转换为base64

时间:2015-05-13 20:36:35

标签: c python-2.7 audio wav

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

2 个答案:

答案 0 :(得分:4)

的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转换。我认为对文件做同样的事情并不困难。

答案 1 :(得分:2)

@ ForceBru的回答

  

import base64

     

ENC = base64.b64encode(开放(" file.wav"。)读())

有一个问题。我注意到我编写的一些WAV文件,生成的字符串比预期的短。

用于" open()"的Python文档说

  

如果省略mode,则默认为' r'。   默认设置是使用文字模式,可以转换' \ n'在写作和回读时的字符特定表示。因此,在打开二进制文件时,您应该附加' b'到模式值以二进制模式打开文件,这将提高可移植性。

因此,代码片段不会以二进制形式读取。因此,下面的代码应该用于更好的输出。

import base64

enc = base64.b64encode(open("file.wav","rb").read())