Python 十六进制浮点会话

Python 十六进制浮点会话,python,hex,Python,Hex,将Windows 10与Python 3.7.1和Spyder IDE一起使用 此代码段导入串行数据并从COM1端口读取 ser = serial.Serial('COM1') print (ser.name) ser.baudrate = 115200 s = ser.read(100) print (s) 我希望收到一个类似这样的字符串,直接十六进制字节 FA 01 08 00 0E A7 C0 C2 68 47 13 BF DD 2F 3E BD

将Windows 10与Python 3.7.1和Spyder IDE一起使用

此代码段导入串行数据并从COM1端口读取

    ser = serial.Serial('COM1')
    print (ser.name)
    ser.baudrate = 115200
    s = ser.read(100)
    print (s)
我希望收到一个类似这样的字符串,直接十六进制字节

FA 01 08 00 0E A7 C0 C2 68 47 13 BF DD 2F 3E BD 4C B9 FA 01 08 00 DD A6 C0 C2 2D 25 12 BF 21 18 29 BD F3 47 FA 01 08 00 20 A7 C0 C2 55 D1 11 BF E8 B0 3B BD AF 81

但我从照片上看到的

COM1 \X0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \XX7 7 7 7 7 7 7 8 8 8 8 8 8 8 0 0 0 0 0 0 0 0 C\xfa\x01\x08\x00C\xcd\xc1\xdc\xa6\xcc=\x8c\x1e\xb6\xbe\x1b\xd4\xfa\x01\x08\x00G\xcb\xc1\xb5\xbc'

这仅仅是Windows笔记本电脑上Python print如何在从COM端口读取的流中显示十六进制字节的函数吗?它真的仅仅是这些十六进制字节吗


谢谢

您看到的是Python 3类型的打印输出。\x块是无法用ASCII表示的字节十六进制值,而其他字符是可以用ASCII表示的字节

正如@ChrisDoyle所建议的,您可以通过以下方式获得十六进制表示:


试试prints.hex看看输出的第一部分,试着找到期望的前几个八位字节。算出:in_bin=ser.read100 in_hex=hexint。从bytesin\u bin开始,byteorder='big'print in_hex``in_bin=ser.read100 in_hex=hexint。从bytesin\u bin开始,byteorder='big'print in_hex感谢大家算出>>in_bin=ser.read100十六进制=hexint。从字节数开始,字节顺序='big'以十六进制打印
>>> b = b'\xfa\x01\x08\x00\xfc\xb0#\xc1\x05\x83\xc1=\x0e\x07\xb2\xbe|\xec\xfa\x01\x08\x00{\x92#\xc10\x14\xca=\xff\xf6\xb6\xbem\x96\xfa\x01\x08\x00G\x9d#\xc1\xd5\xab\xc4=\xa6\x89\xb8\xbe8\xea\xfa\x01\x08\x00\xc2\xba#\xc1\x88\x7f\xca=\x9d\x89\xb5\xbe\xc6\x8c\xfa\x01\x08\x00C\xcd#\xc1\xdc\xa6\xcc=\x8c\x1e\xb6\xbe\x1b\xd4\xfa\x01\x08\x00g\xcb#\xc1\xb5\xbc'
>>> b.hex()
'fa010800fcb023c10583c13d0e07b2be7cecfa0108007b9223c13014ca3dfff6b6be6d96fa010800479d23c1d5abc43da689b8be38eafa010800c2ba23c1887fca3d9d89b5bec68cfa01080043cd23c1dca6cc3d8c1eb6be1bd4fa01080067cb23c1b5bc'