python中文编码问题小结

660次阅读  |  发布于5年以前

中文编码问题一直是Python程序设计中很头痛的问题,本文对此较为详细的进行了总结归纳。具体如下:

当字符串是:'\u4e2d\u56fd'


    >>>s=['\u4e2d\u56fd','\u6e05\u534e\u5927\u5b66']
    >>>str=s[0].decode('unicode_escape') #.encode("EUC_KR")
    >>>print str
    中国

当字符串是:' 东亚学团一中'


    >>>print unichr(19996)
    东

ord()支持unicode,可以显示特定字符的unicode号码,如:


    >>>print ord('A')
    65

只要和Unicode连接,就会产生Unicode字串。如:


    >>> 'help'
    'help'
    >>> 'help,' + u'python'   
    u'help,python'

对于ASCII(7位)兼容的字串,可和内置的str()函数把Unicode字串转换成ASCII字串。如:


    >>> str(u'hello world')
    'hello world'

对几个概念的理解:

ASCII码 用数据字 对应 相应的字符 如下图所示:

而中文 就是区位码对应汉字。如:"好" 的ASCII码为: 22909

unicode 编码 每个国家分一块。它有UTF-8、UTF-16、UTF-32等形式
中文范围 4E00-9FBF:这个范围内有 gbk,gb2312,

utf-8是基于unicode的 国际化的场合适合使用

gb2312和gb2312都是国标码 出现的较早 主要用于编解码常用汉字

希望本文所述对大家的Python程序设计有所帮助。

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8