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个平台都是一样的。
这样一来,应用程序在任何平台都能使用。
及时行乐