在我的项目中有一些包以字节形式返回值。有一些配置或环境变量要设置,所以我不需要再次将字节解码为字符串?如果是,它是什么?
最佳答案
默认情况下,Python 2 可以做你想做的事。
但让我建议:这不是人们真正想要的,这就是为什么 Python 3 不会自动执行此操作。
要将bytes转成str,你需要知道bytes的编码:
s = b.decode(编码)
要将 str 转换为字节,您还需要知道所需的编码:
b = s.encode(编码)
Python 2 假定编码 == 'ASCII',因此适用于英语/纯 ASCII 文本,但在运行时为其他所有内容引发异常。
那么,你要做的是:
- 决定是否应将某些内容处理为文本(在这种情况下使用 str)或二进制(然后保留字节)
- 尽早解码(加载后,接收字节)
- 处理为str
- 后期编码(在保存、发送字节之前)
现在utf-8编码是最流行的,如果没有其他要求就用utf-8吧。
关于python - 如何避免一直将字节解码为字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51227323/