python - 在 Python 3 中将字节列表转换为字符串

标签 python string byte

我正在用 Python 3.4.1 编写一个程序,它使用 PySerial 来测试一些硬件。

字节从串行端口一次读取一个,然后附加到列表中。当列表达到一定大小时,它被发送进行处理。 根据传入的数据,有时必须在列表填满之前处理数据,因此需要逐字节操作。

然后列表返回为:

[b'F', b'o', b'o']

对于部分测试脚本,我需要能够将其转换为字符串,这样我就可以打印:

Foo

我的解决方案是:

b''.join([b'F', b'o', b'o']).decode("ascii")

但就是感觉不对。对此有更好的方法吗?

最佳答案

IMO,这稍微更具可读性,但如果我在审查中看到您的代码,我不会提示。在 Python 2.7 中测试:

>>> bytearray([b'F', b'o', b'o']).decode('ascii')
u'Foo'

关于python - 在 Python 3 中将字节列表转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30845669/

相关文章:

mysql - 如何编写查询以将多个字符串聚合到一个字段中?

c# - 从字节数组中删除第一个和最后一个字节?

python - 使用 Tweepy 避免速率限制从 API 获取最后的 Twitter 提及

python - 在python和nodejs中请求nasdaq.com

python - 这些对在 dblquad 中返回固定值的函数的频繁调用是否可以避免?

string - 查找输入字符串中的子字符串

c - 使用文本文件中的字符串与使用文字字符串的工作方式不同吗?

python - 在 Python 中从 UDP 执行异步套接字读取的最简单方法?

用位图控制数组

python - 如何在python中将任意长度的位串写入二进制文件