在 Python 3 中将整数的字符串表示形式编码为 base64

2022-01-21 00:00:00 python string encode int 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'.

相关文章