最近调用腾讯ai开发平台的语音合成接口,将文字转为语音数据后,得到的语音格式为base64,那么啥是base64编码,又如何将其转为mp3格式呢?作为一名面向百度的编程爱好者,看完一篇博客后就秒懂了。直接搬运过来,感谢作者分享。
Python的base64函数是内置函数,是一种用64个字符来表示任意二进制数据的方法。用记事本打开exe
、jpg
、pdf
这些文件时,我们都会看到一大堆乱码,因为二进制文件包含很多无法显示和打印的字符,所以,如果要让记事本这样的文本处理软件能处理二进制数据,就需要一个二进制到字符串的转换方法。Base64是一种最常见的二进制编码方法。
base64对文件的编码解码
对文件的编码就是读取文件内容,encode为base64,对文件的解码就是将base64字符串转换为文件二进制。
- 编码使用
base64.b64encode()
- 解码使用
base64.b64decode()
读取文件我们可以用with open as 也可以直接open,区别是with智能关闭文件,open要手动close文件。参考:https://www.cnblogs.com/gengcx/p/6713646.html
上代码:
def ToBase64(file, txt):
with open(file, 'rb') as fileObj:
image_data = fileObj.read()
base64_data = base64.b64encode(image_data)
fout = open(txt, 'w')
fout.write(base64_data.decode())
fout.close()
def ToFile(txt, file):
with open(txt, 'r') as fileObj:
base64_data = fileObj.read()
ori_image_data = base64.b64decode(base64_data)
fout = open(file, 'wb')
fout.write(ori_image_data)
fout.close()
ToBase64("./desk.jpg",'desk_base64.txt') # 文件转换为base64
ToFile("./desk_base64.txt",'desk_cp_by_base64.jpg') # base64编码转换为二进制文件
参考:https://www.cnblogs.com/dcb3688/p/4610642.html
https://www.liaoxuefeng.com/wiki/1016959663602400/1017684507717184