gpt4 book ai didi

python - '&' 在 python 字节数组中代表什么

转载 作者:行者123 更新时间:2023-11-28 20:31:30 25 4
gpt4 key购买 nike

python bytearray 末尾的 & 符号 & 是什么意思?

例如:

x_w = bytearray(b'\x00\x00\x04\x12\xaa\x12\x12&')

将其转换为整数时

int.from_bytes(x_w, 'little')

Out[1]: 2743275644678045696

它从没有'&'的同一个字节数组给出不同的结果:

x_wo = bytearray(b'\x00\x00\x04\x12\xaa\x12\x12')
int.from_bytes(x_wo, 'little')

Out[2]: 5087071236784128

我检查了 documentation 但没有找到答案。谢谢!

最佳答案

它只是对值为26(十进制38)的字节的表示,即ASCII中的'&'字符。

如果您打印所用字节字面量的实际字节值,您可以清楚地看到这一点:

>>> print(' '.join('%02x' % b for b in b'\x00\x00\x04\x12\xaa\x12\x12&'))
00 00 04 12 aa 12 12 26

并且 bytearray 对象的 repr 更喜欢尽可能使用 ASCII 字符而不是十六进制转义来表示字节。所以它会更喜欢表示 '&' 而不是 '\x26',即使它们在技术上是等价的:

>>> bytearray([0x00, 0x00, 0x04, 0x12, 0xAA, 0x12, 0x12, 0x26])
bytearray(b'\x00\x00\x04\x12\xaa\x12\x12&')

>>> b'\x26' == b'&'
True

关于python - '&' 在 python 字节数组中代表什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54481631/

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