作者:徐青乔府_631 | 来源:互联网 | 2023-09-14 10:41
Python2.7
首先是服务器穿过来的字节流,需要转换为 string(按照 ascii),比如 16 进制字节流是
"31 35 37 50 55 00 00 00 00 00"
需要转为 string
"157PU"
于是有下列代码
1 2
| def byte_to_string(d):
return binascii.a2b_hex(d) |
但实际转换结果为
1 2 3
| a = byte_to_string('31 35 37 50 55 00 00 00 00 00')
print a
>>>"157PU\x00\x00\x00\x00\x00" |
请问这个 string 里几个\x00 怎么删除,我用
1 2
| a.strip()
a.replace("\n","") |
都不好使,最用用 len(a)测试的时候结果都还是 10
s = "31 35 37 50 55 00 00 00 00 00"
b = bytes.fromhex(s)
s = b.decode()
s = s.replace('\0', '')