& 符号是什么意思&
意思是在Python的末尾bytearray
?
e.g.:
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
我检查了文档但还没有找到答案。谢谢!
它只是具有值的字节的表示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
And the repr
of the bytearray
只要有可能,对象更喜欢使用 ASCII 字符而不是十六进制转义来表示字节。所以它会更喜欢代表'&'
而不是'\x26'
,即使它们在技术上是等效的:
>>> bytearray([0x00, 0x00, 0x04, 0x12, 0xAA, 0x12, 0x12, 0x26])
bytearray(b'\x00\x00\x04\x12\xaa\x12\x12&')
>>> b'\x26' == b'&'
True
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)