本文介绍了在Python 3中将整数的字符串表示形式编码为base64的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试将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的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!