Python 如何解析\x00、\x95x95等值?
我有一个字符串,它类似于:Python 如何解析\x00、\x95x95等值?,python,Python,我有一个字符串,它类似于: \x00\x00\x01\x90\x27等 如何将此值解析为简单的长值 例如,\x00的长值是多少0或00?我假设您认为您的数据是字符 所以使用Python3 a=b'\x00\x00\x01\x90' b=b.decode('utf-8') 如果您的二进制数据有一些“讨厌的”字符,即坏字符,则此操作将失败-但添加诸如errors='ignore'或errors='replace'之类的选项将有助于您解决这些问题。您的问题不是很清楚,因此我在这里做一些假设。如果
\x00\x00\x01\x90\x27
等
如何将此值解析为简单的长值
例如,
\x00
的长值是多少0
或00
?我假设您认为您的数据是字符
所以使用Python3
a=b'\x00\x00\x01\x90'
b=b.decode('utf-8')
如果您的二进制数据有一些“讨厌的”字符,即坏字符,则此操作将失败-但添加诸如errors='ignore'或errors='replace'之类的选项将有助于您解决这些问题。您的问题不是很清楚,因此我在这里做一些假设。如果需要固定长度转换,则可以使用标准模块 例如:
In [11]: unpack('>i', '\x00\x01\x90\x27')
Out[11]: (102439,)
如果您需要可变长度字符串,那么类似这样的内容将起作用(对于无符号字符串,请注意endianness):
s='\x00\x00\x01\x90\x27'
i=0
对于s中的c:
你所说的长期价值是什么意思?如果您指的是十进制表示,那么0和00是相同的数字。0和00之间的区别是什么?Python版本2或3?是\x00
字符串的真实内容,还是我们讨论字符串表示?
s = '\x00\x00\x01\x90\x27'
i = 0
for c in s:
i <<= 8
i |= ord(c)
print i