什么类型的编解码器最适合编码上传到Python 3中的应用程序的二进制文件?
答案 0 :(得分:0)
我知道这是一个迟到的答案,问题不是完全清楚,但是如果你需要编码一串字节来保存在某个地方,无论出于什么原因你不能简单地保存二进制数据,您应该使用base64
模块对字符串进行编码。例如,假设您有一长串字节(在本例中,使用os.urandom(100)
生成:
import base64
import os
some_bytes = os.urandom(100)
print(repr(some_bytes))
some_bytes_base64 = base64.standard_b64encode(some_bytes).decode()
print(some_bytes_base64)
这会打印如下内容:
b'\xd3\xa3\x0eT/L\xc6\x88\x98\xd0i\xbaa\xb2\x18\x1bx\xde\xf6Zq\xbe\xd9\xb4D\x19\x14\x91Z}wg?\x90\xd7f\xca\x1bxX\xa8\x99\xe6\xbb\xe0\x80\xa3\xc4\xb8\x1f\xfcp\xbc\x8d:/\xcfk\x01\xee\xc1\xde\xdc\xc3\xfa\x0e|7\x8eYt\xd1\x0b\x8a\x89\x9c^\xcf\xbc\\\x00_\x89dyb\x13\xa8\xdb\xba\xe3\x85X\x8d\x1a\x8bz\xe5\xfb\r'
06MOVC9MxoiY0Gm6YbIYG3je9lpxvtm0RBkUkVp9d2c/kNdmyht4WKiZ5rvggKPEuB/8cLyNOi/PawHuwd7cw/oOfDeOWXTRC4qJnF7PvFwAX4lkeWITqNu644VYjRqLeuX7DQ==
如您所见,字符串已正确编码。 decode()
方法将base64.standard_b64encode
通常返回的字节文字转换为标准字符串。在我看来,This answer很好地描述了byte literals 。
这应该允许您毫无问题地传输文件,字节序列等。 (毕竟,这不是Base64 encoding
的用途吗?)