行打印(var)给了我b' mystring'

时间:2013-06-06 03:35:24

标签: python python-3.x

在Python中,这段代码:

import serial
ser = serial.Serial('COM6', 115200)
while 1:
    a = ser.readline()
    print(a)
x = input("don't exit :)")

给我:

b'my serial data'

如何脱掉这个b''?

1 个答案:

答案 0 :(得分:2)

Python 3区分了字节和文本。如果您确定串行数据实际上是文本,则可以使用decodedecode需要知道数据的编码字符。如果它只是发送英文文本而没有像“café”或“naïve”那样棘手的话,ASCII可能会没问题:

text = data.decode('ascii')

但是,如果它不是文本数据,那么你真的想要删除那个b''部分。当它仍处于bytes格式时,您需要对其进行处理。如何做到这一点取决于你想用它做什么,就像它是一个文本字符串一样。