gpt4 book ai didi

python - sys.stdout.encoding、locale.getpreferredencoding() 和 sys.getdefaultencoding() 之间有什么区别?

转载 作者:行者123 更新时间:2023-11-28 18:26:13 24 4
gpt4 key购买 nike

我是 python 的新手,对这种编码的东西真的很困惑。到目前为止,我已经阅读了以下类型的“编码”:

import sys
import locale

print (sys.stdout.encoding)
print (locale.getpreferredencoding())
print (sys.getdefaultencoding())

输出:

utf8
cp1252
utf-8

有什么区别?

最佳答案

简而言之,编码是您的数据存储在内存中的方式。不同的方式允许更多的字符和信息。如需深入解释,我们非常欢迎您阅读 http://kunststube.net/encoding/ , 或 Wikipedia

在 python 中,您可以通过物理调用编码类型或使用 the coding function 中的任何一种来更改事物的存储方式。 .

对于你的python3.x环境,sys.stdout.encodingsys.getdefaultencoding()没有区别。它们都使用 8 位代码单元(最标准)。而首选编码 locale.getpreferredencoding() (cp1252) 是 latin1 的 Windows 版本。

请注意,如果您想获得任何方法/功能的快速反馈,您始终可以使用帮助命令。

示例:

>>> import locale
>>> help(locale.getpreferredencoding)

输出:

Help on function getpreferredencoding in module locale:

getpreferredencoding(do_setlocale=True)
Return the charset that the user is likely using,
according to the system configuration.
(END)

关于python - sys.stdout.encoding、locale.getpreferredencoding() 和 sys.getdefaultencoding() 之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41353009/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com