gpt4 book ai didi

python-3.x - Python、base64、 float

转载 作者:行者123 更新时间:2023-12-04 12:49:37 28 4
gpt4 key购买 nike

你知道如何在 Python 中使用 base64 编码和解码 float 吗?我正在尝试使用

response='64.000000'
base64.b64decode(response)

预期的输出是 'AAAAAAAALkA=' 但我没有得到任何 float 输出。

谢谢。

最佳答案

Base64 编码仅针对字节字符串定义,因此您必须使用 struct.pack 将您的数字转换为字节序列,然后对其进行 base64 编码。您给出的示例看起来像一个 base64 编码的小端 double 。所以(对于 Python 2):

>>> import struct
>>> struct.pack('<d', 64.0).encode('base64')
'AAAAAAAAUEA=\n'

对于反方向你base64解码然后解压:

>>> struct.unpack('<d', 'AAAAAAAALkA='.decode('base64'))
(15.0,)

所以看起来您的示例是 15.0 而不是 64.0。

对于 Python 3,您还需要使用 base64 模块:

>>> import struct
>>> import base64
>>> base64.encodebytes(struct.pack('<d', 64.0))
b'AAAAAAAAUEA=\n'
>>> struct.unpack('<d', base64.decodebytes(b'AAAAAAAALkA='))
(15.0,)

关于python-3.x - Python、base64、 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40914544/

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