将 WAV 转换为 base64
Convert WAV to base64
我有一些 wave 文件 (.wav),我需要将它们转换为 base64 编码的字符串。你能指导我如何在 Python/C/C++ 中做到这一点吗?
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转换。我认为对文件做同样的事情不会太难。
@ForceBru 的回答
import base64
enc=base64.b64encode(open("file.wav").read())
有一个问题。我注意到对于一些我编码的 WAV 文件,生成的字符串比预期的要短。
Python "open()" 的文档说
If mode is omitted, it defaults to 'r'.
The default is to use text mode, which may convert '\n' characters to a platform-specific representation on writing and back on reading. Thus, when opening a binary file, you should append 'b' to the mode value to open the file in binary mode, which will improve portability.
因此,代码片段不是以二进制形式读取的。因此,应该使用以下代码以获得更好的输出。
import base64
enc = base64.b64encode(open("file.wav", "rb").read())
我有一些 wave 文件 (.wav),我需要将它们转换为 base64 编码的字符串。你能指导我如何在 Python/C/C++ 中做到这一点吗?
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转换。我认为对文件做同样的事情不会太难。
@ForceBru 的回答
import base64
enc=base64.b64encode(open("file.wav").read())
有一个问题。我注意到对于一些我编码的 WAV 文件,生成的字符串比预期的要短。
Python "open()" 的文档说
If mode is omitted, it defaults to 'r'. The default is to use text mode, which may convert '\n' characters to a platform-specific representation on writing and back on reading. Thus, when opening a binary file, you should append 'b' to the mode value to open the file in binary mode, which will improve portability.
因此,代码片段不是以二进制形式读取的。因此,应该使用以下代码以获得更好的输出。
import base64
enc = base64.b64encode(open("file.wav", "rb").read())