python中文编码问题小结

yipeiwu_com5年前Python基础

中文编码问题一直是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程序设计有所帮助。

相关文章

Python 反转字符串(reverse)的方法小结

前段时间看到letcode上的元音字母字符串反转的题目,今天来研究一下字符串反转的内容。主要有三种方法: 1.切片法(最简洁的一种) #切片法 def reverse1(): s=...

Python简单实现阿拉伯数字和罗马数字的互相转换功能示例

Python简单实现阿拉伯数字和罗马数字的互相转换功能示例

本文实例讲述了Python实现阿拉伯数字和罗马数字的互相转换功能。分享给大家供大家参考,具体如下: 前面一篇介绍了《Java实现的求解经典罗马数字和阿拉伯数字相互转换问题》,这里来看看P...

在python中利用try..except来代替if..else的用法

在有些情况下,利用try…except来捕捉异常可以起到代替if…else的作用。 比如在判断一个链表是否存在环的leetcode题目中,初始代码是这样的 # Definition...

Python随机生成手机号、数字的方法详解

本文实例讲述了Python随机生成手机号、数字的方法。分享给大家供大家参考,具体如下: Python随机产生手机号、数字。代码如下: # -*- coding:gbk -*- imp...

pytorch实现对输入超过三通道的数据进行训练

案例背景:视频识别 假设每次输入是8s的灰度视频,视频帧率为25fps,则视频由200帧图像序列构成.每帧是一副单通道的灰度图像,通过pythonb里面的np.stack(深度拼接)可将...