python学习之getdefaultlocale()函数

def getdefaultlocale(envvars=('LC_ALL', 'LC_CTYPE', 'LANG', 'LANGUAGE'))

 返回一个二元组。

>>> locale.getdefaultlocale()
('zh_CN', 'cp936')

在linux下,其本质是使用os.environ这个字符串环境的映射对象来获取LANG这个变量。

>>> os.environ.get('LANG')
'en_US.UTF-8'

 在window下,其实是调用_locale._getdefaultlocale()这个函数来返回二元组的。

注意:

python3中字符串默认编码utf-8,所以没有setdefaultencoding()函数了。

拓展:

什么是POSIX?

POSIX是一个标准,他定义了系统应该为应用程序所提供接口的标准。

也就是说,应用程序所使用的接口就是按照POSIX标准制定的。

之所以制定这套标准就是为了应用程序的可移植性。

它相当于把底层接口进行了封装,应用程序只要使用封装后的接口即可。

如图,对于同一个功能,unix和window系统底层接口不一样,但是他们都被封装成了一个基于POSIX标准的接口中。

对于应用程序来说,这个接口在2个平台都是一样的。

这样一来,应用程序在任何平台都能使用。

原文地址:https://www.cnblogs.com/leomei91/p/7591170.html