我在Python '\x005\x003\x00.\x000\x005\x006\x00'
中有这个字符串,代表数字53.056
。
我试图将其转换为浮点数(float()
),但是如果我尝试将其强制转换为浮点数,则会得到ValueError: could not convert string to float:
。
我读到每个以\x
开头的字符都是ASCII字符,但我也知道在ASCII 5中是\x05
而不是\x005
,并且\x00
是数字0而不是这种情况下的空值。
我也尝试用UTF-8进行编码,但没有结果。
那是什么编码,如何将字符串转换为浮点数?
最佳答案
字符似乎由空字节\x00
分隔。
一个解决方案是:
s = b'\x005\x003\x00.\x000\x005\x006\x00'
float(s.replace(b'\x00',b''))