geh*_*eis 2 python arrays python-3.x
&在蟒蛇结束时,&符号是什么意思bytearray?
例如:
x_w = bytearray(b'\x00\x00\x04\x12\xaa\x12\x12&')
Run Code Online (Sandbox Code Playgroud)
将此转换为整数时
int.from_bytes(x_w, 'little')
Out[1]: 2743275644678045696
Run Code Online (Sandbox Code Playgroud)
它给出了不带'&'的相同bytearray的不同结果:
x_wo = bytearray(b'\x00\x00\x04\x12\xaa\x12\x12')
int.from_bytes(x_wo, 'little')
Out[2]: 5087071236784128
Run Code Online (Sandbox Code Playgroud)
我检查了文档,但没有找到答案.谢谢!
它只是带有值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
Run Code Online (Sandbox Code Playgroud)
与repr所述的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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
106 次 |
| 最近记录: |