我正在尝试将 int 编码为 base64,我正在这样做:
I'm trying to encode an int in to base64, i'm doing that:
foo = 1
base64.b64encode(bytes(foo))
预期输出: 'MQ=='
给定输出: b'AA=='
我做错了什么?
在 Python 2.7.2 中可以正常工作
in Python 2.7.2 works correctly
试试这个:
foo = 1
base64.b64encode(bytes([foo]))
或
foo = 1
base64.b64encode(bytes(str(foo), 'ascii'))
# Or, roughly equivalently:
base64.b64encode(str(foo).encode('ascii'))
第一个示例对 1 字节整数 1
进行编码.第二个示例编码 1 字节字符串 '1'
.
The first example encodes the 1-byte integer 1
. The 2nd example encodes the 1-byte character string '1'
.
这篇关于在 Python 3 中将整数的字符串表示形式编码为 base64的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!