美文网首页编程地带
python3查看默认编码

python3查看默认编码

作者: MA木易YA | 来源:发表于2018-11-28 22:48 被阅读0次

主要用到locale模块,以下为windows上的演示

print(locale.getpreferredencoding())
print(locale.getdefaultlocale())

#输出
cp936
('zh_CN', 'cp936')
  • CP936其实就是GBK,IBM在发明Code Page的时候将GBK放在第936页,所以叫CP936。

扩展

但是在某些系统中,当您调用时getpreferredencoding(),_locale模块会PyDict_SetItemString(string, "letters", ulo);在fixup_ulcase(void)使用以下内容生成它们之后通过调用来覆盖它:

/* create letters string */
n = 0;
for (c = 0; c < 256; c++) {
    if (isalpha(c))
        ul[n++] = c;
}
ulo = PyString_FromStringAndSize((const char *)ul, n);
if (!ulo)
    return;
if (string)
    PyDict_SetItemString(string, "letters", ulo);
Py_DECREF(ulo);

反过来,这被称为PyLocale_setlocale确实setlocale,这被称为getpreferredencoding- 代码http://hg.python.org/cpython/file/07a6fca7ff42/Lib/locale.py#l612

 def getpreferredencoding(do_setlocale = True):
        """Return the charset that the user is likely using,
        according to the system configuration."""
        if do_setlocale:
            oldloc = setlocale(LC_CTYPE)
            try:
                setlocale(LC_CTYPE, "")
            except Error:
                pass
            result = nl_langinfo(CODESET)
            setlocale(LC_CTYPE, oldloc)
            return result
        else:
            return nl_langinfo(CODESET)

避免方式

locale.getpreferredencoding(False)

相关文章

  • python3查看默认编码

    主要用到locale模块,以下为windows上的演示 CP936其实就是GBK,IBM在发明Code Page的...

  • Python基本知识

    一,解释器默认编码的区别   Python2解释器默认编码:ASCII  Python3解释器默认编码:UTF8 ...

  • encode()和decode()

    python3默认编码unicode encode编码:str --bytes decode 解码:bytes--...

  • Python3中的json.dumps后,中文为Unicode编

    一、原因 Python3 已经将Unicode作为默认编码,进行操作; Python3 中的json在做dumps...

  • 二.基础语法

    1.编码 python3 默认使用UTF-8进行编码,也可以自己进行指定 # -*- "coding":"cp-1...

  • python 编码问题总结记录

    Python2的默认编码ASCII,这是python编码问题的根本原因,可以想象,python3的编码问题肯定没有...

  • 编程中常用的编码判断

    UTF-8 目前比较常见的支持各国语言的编码,python3默认编码 GBK, GBK2312 我国常用的编码经常...

  • Python基础之文件处理(二)

    Python基础文件处理 python系列文档都是基于python3 一、字符编码 在python2默认编码是AS...

  • mysql中文乱码问题

    1. 查看默认的编码格式: 2. 查看数据库的编码格式: 3. 修改数据库编码格式: 4. 查看创建表语句及其编码...

  • python3 (1)基础语法

    1、编码 python3 源码文件默认UTF-8编码,字符串Unicode字符串。可以不在py文件制定编码,pyt...

网友评论

    本文标题:python3查看默认编码

    本文链接:https://www.haomeiwen.com/subject/ypytcqtx.html