use*_*884 3 c audio wav python-2.7
我有一些波形文件 (.wav),我需要将它们转换为 base64 编码的字符串。你能指导我如何在 Python/C/C++ 中做到这一点吗?
最简单的方法
from base64 import b64encode
f=open("file.wav")
enc=b64encode(f.read())
f.close()
Run Code Online (Sandbox Code Playgroud)
现在enc包含编码值。
您可以使用稍微简化的版本:
import base64
enc=base64.b64encode(open("file.wav").read())
Run Code Online (Sandbox Code Playgroud)
在这里可以看到字符串的base64转换。我认为对文件做同样的事情不会太难。
@ForceBru 的回答
import base64
enc=base64.b64encode(open("file.wav").read())
Run Code Online (Sandbox Code Playgroud)
有一个问题。我注意到对于一些 WAV 文件,我编码生成的字符串比预期的要短。
“open()”的 Python 文档说
如果省略 mode,则默认为 'r'。默认是使用文本模式,它可以在写入和读取时将 '\n' 字符转换为特定于平台的表示形式。因此,打开二进制文件时,应在模式值后附加“b”以二进制模式打开文件,这将提高可移植性。
因此,代码片段不是以二进制形式读取的。因此,应该使用以下代码以获得更好的输出。
import base64
enc = base64.b64encode(open("file.wav", "rb").read())
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4939 次 |
| 最近记录: |