欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python中文编码问题小结

程序员文章站 2024-02-06 09:10:40
中文编码问题一直是python程序设计中很头痛的问题,本文对此较为详细的进行了总结归纳。具体如下:   当字符串是:'\u4e2d\u56fd' ...

中文编码问题一直是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码 用数据字 对应 相应的字符 如下图所示:

python中文编码问题小结

而中文 就是区位码对应汉字。如:“好” 的ascii码为: 22909
 
unicode 编码 每个国家分一块。它有utf-8、utf-16、utf-32等形式
中文范围 4e00-9fbf:这个范围内有 gbk,gb2312,
 
utf-8是基于unicode的 国际化的场合适合使用

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

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