为什么我的RFID读取器在Python中输出奇怪的结果?
我正在使用这个脚本:
import serial
ser = serial.Serial('/dev/ttyUSB0')
print 'Running..'
while True:
a=ser.read() # write a string
if a is not "":
print str(a)
break
ser.close()
..当我运行这个脚本时,我得到了这个输出:
/Documents/python$ python rfid.py
你可以看到,我得到了一个奇怪的框框,而不是我期待的ID字符串,所以我在想这可能和某种编码有关?补充一下:其实你在这里看不到,但我说的那个框框里面有三个零和一个二,看起来是这样的:
0 0
0 2
1 个回答
1
你看到这个是因为U+0002不是一个可以打印的字符。你从设备那里收到的消息中包含了0x02这个内容;你可以使用od
命令来查看脚本输出的整个消息。如果你没有预料到这个情况,那你可能需要确认一下你是否使用setserial
命令设置了串口的相关属性。