gpt4 book ai didi

python - Python中关于字节字符串和base64编码的困惑

转载 作者:行者123 更新时间:2023-12-01 02:54:36 27 4
gpt4 key购买 nike

在 Python 3 中,假设我有一个字节字符串:

my_byte_string = b'\x07L\x1b\xa8b\x8f\xba\x1b{\x1c\x16CwW\xa5\xae!\x93MY'

我使用base64模块来得到这个:

my_base64_string = base64.b64encode(my_byte_string)

print(my_base64_string)

b'B0wbqGKPuht7HBZDd1elriGTTVk='

当我这样做时,我对 '\' 字符会发生什么感到困惑。我知道它们表示不同字节的分隔,但它们是像其他字符一样由 b64encode 编码,还是被忽略?

最佳答案

'\'字符并不表示不同字节的分隔,它是一个 string literal ,用于转义具有特殊含义的字符。在您的情况下,您使用 \x<hex> ,它告诉 Python 解释器将您指定的字节值放入字符串中。因此,您顺序指定的这些字节( 0x07L0x1b 、...)将被编码为 base64,而不是其他任何内容。

要验证这一点,请查看二进制数据的十六进制表示形式:

>>> import binascii
>>> binascii.hexlify(my_byte_string)
b'074c1ba8628fba1b7b1c16437757a5ae21934d59'

关于python - Python中关于字节字符串和base64编码的困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44345845/

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