python中文编码问题小结

yipeiwu_com6年前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程序设计有所帮助。

相关文章

django项目运行因中文而乱码报错的几种情况解决

django项目运行因中文而乱码报错的几种情况解决

前言 django项目开发过程中,碰到了多种情况下的中文乱码报错,在这儿做一下处理总结。 报错:UnicodeEncodeError: 'ascii' codec can't enco...

tensorflow 获取变量&打印权值的实例讲解

tensorflow 获取变量&打印权值的实例讲解

在使用tensorflow中,我们常常需要获取某个变量的值,比如:打印某一层的权重,通常我们可以直接利用变量的name属性来获取,但是当我们利用一些第三方的库来构造神经网络的layer时...

Python cookbook(数据结构与算法)对切片命名清除索引的方法

本文实例讲述了Python对切片命名清除索引的方法。分享给大家供大家参考,具体如下: 问题:如何清理掉到处都是硬编码的切片索引 解决方案:对切片命名 假设有一些代码用来从字符串的固定位置...

简单介绍Ruby中的CGI编程

Ruby 是一门通用的语言,不仅仅是一门应用于WEB开发的语言,但 Ruby 在WEB应用及WEB工具中的开发是最常见的。 使用Ruby您不仅可以编写自己的SMTP服务器,FTP程序,或...

opencv与numpy的图像基本操作

opencv与numpy的图像基本操作

1. 像素基本操作 1.1 读取、修改像素 可以通过[行,列]坐标来访问像素点数据,对于多通道数据,返回一个数组,包含所有通道的值,对于单通道数据(如gray),返回指定坐标的值,也可...