Python 3设置默认字节编码



在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()

最新更新