在Python 3中,bytes
需要一个编码:
bytes(s, encoding="utf-8")
是否有一种方法来设置默认编码,所以bytes
总是在UTF-8编码?
我想最简单的方法是
def bytes_utf8(s):
return bytes(s, encoding="utf-8")
bytes
的文档将您重定向到bytearray
的文档,其中部分内容为:
可选的source形参可以用几种不同的方式初始化数组:
- 如果它是一个字符串,你还必须给出编码(和可选的,错误)参数;bytearray()然后使用str.encode()将字符串转换为字节。
看起来没有办法提供一个默认值
您可以使用encode
方法,不有一个默认值,由sys.getdefaultencoding()
给出。如果您需要更改默认值,请查看这个问题,但请注意,由于有充分的理由,删除了轻松执行此操作的功能。
import sys
print(sys.getdefaultencoding())
s.encode()