gpt4 book ai didi

python 3.4 base64 二进制文件

转载 作者:太空宇宙 更新时间:2023-11-03 17:23:15 24 4
gpt4 key购买 nike

python 2.7 与 3.4我有一个文件0xFFFE0D000A(只是desktop.ini的开头)

import base64
file64 = "c:\\test\\out.b64"
base64.encode(open("c:\\test\\test.ini"),open(file64, "w"))
with open (file64) as f:
b64 =f.read()
print (b64)

对于 2.7,它输出//4NAAo=
在 3.4 上,我收到错误 TypeError: 'str' 不支持缓冲区接口(interface)。
尝试将文件读取为 rb 并得到 TypeError: 必须是 str,而不是字节。

我尝试读取它并将其编码为utf8,但输出错误。

有什么想法吗?

最佳答案

在Python3中,字符串和字节是两种不同且不兼容的数据类型。一定要注意使用正确的类型。

Base64数据编码和解码函数处理二进制数据。这就是为什么它们接受二进制文件对象,而不是文本文件对象。

正确的代码是:

base64.encode(open(infile, 'rb'), open(outfile, 'wb'))

并且适用于 Python2 和 3。

关于python 3.4 base64 二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32907517/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com