我正在尝试为某些消息编写一个简单的序列化库。我可以正常使用,并且一切都很好,但是由于某些原因,它会在某些消息的末尾附加一个“ L”。从字面上看,永远不要有其他字符,永远是L,并且永远是相同的数据。虽然看起来L通常会粘贴在较大的数据上,但我不知道发生了什么。
>>> a = messager(messager.genericHeader() + [0x1111, 0x2222, 0x33334444, 0xdeadbeefdeadbeef])
>>> b = a.serialize()
>>> b
'\xb0\xba\xfewGRYP\x00\x01\x00(\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x11""33DD\xde\xad\xbe\xef\xde\xad\xbe\xef'
>>> c = a.deserialize(b)
>>> hex(c[0])
'0x1111'
>>> hex(c[1])
'0x2222'
>>> hex(c[2])
'0x33334444'
>>> hex(c[3])
'0xdeadbeefdeadbeefL'
从我看到的内容来看,在位字符串的末尾显然没有字节可以读为L。有人对这里发生的事情有任何想法吗?我也可以显示一些代码,但是我会尽量简化,因为字节字符串有望足以诊断此问题。
不用担心
打印的“ L”表示值很长。
它实际上并没有对价值做任何事情,只是在打印时如何表现出来
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句