Python-2.7 : 编码问题及encode与decode】的更多相关文章

首先要搞清楚,字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码. decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode('gb2312'),表示将gb2312编码的字符串转换成unicode编码. encode的作用是将unicode编码转换成其他编码的字符串,如str2.encode('…
转自:http://blog.csdn.net/a921800467b/article/details/8579510 为什么会报错“UnicodeEncodeError:'ascii' codec can't encode characters in position 0-1: ordinal notin range(128)”?本文就来研究一下这个问题.字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(…
edu.codepub.com/2009/1029/17037.php 这个问题在python3.0里已经解决了. 这有篇很好的文章,可以明白这个问题: 为什么会报错“UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)”?本文就来研究一下这个问题.字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为…
普通的字符串在py2.7中都是以ASCII编码的,例如str=“abc”,若含有中文则会以gbk或者gb2312编码(GB2312是中国规定的汉字编码,也可以说是简体中文的字符集编码;GBK 是 GB2312的扩展 ,除了兼容GB2312外,它还能显示繁体中文,还有日文的假名) 但在字符串前加u,例如str=u“abc”,则可以将字符串定义成Unicode编码 系统自带的编码查看可通过 sys.getdefaultencoding() 获得,若要修改默认编码需要先 reload(sys) ,因为…
1.is 和  == 的区别. == 是由来判断左右两边的内容是否相等. is 是用来判断内存地址是否相同. 引进 id (   )函数 小数据池: 对于字符串 ,数字 ,bool 值进行 id()计算 内存地址时,会形成一个小数据池,对于已经存在的,(eg:   a =1, 如果新增   b = 1,那么之前形成的 a = 1 的值已经缓存在了小数据池中,这是b 就直接拿了a 的 内存地址来使用). 2.encode 和 decode 二者是用于编码的转换而使用的. encode ():编码…
Windows:默认为 ANSI,记事本程序另存为处,可以设置其他编码格式: Ubuntu:默认为 UTF-8 1. ANSI ANSI 编码表示英文字符时用一个字节,表示中文用两个或四个字节 -- 这带来了存储空间的减少,但却带来的格式的不统一和混乱: ANSI是一种字符代码,为使计算机支持更多语言,通常使用 0x00~0x79 范围的 1 个字节来表示 1 个英文字符.超出此范围的使用 0x80~0xFFFF来编码,即扩展的 ASCII 编码. 为使计算机支持更多语言,通常使用 0x80~0…
1 引言 在文件读写及字符操作时,我们经常会出现下面这几种错误: TypeError: write() argument must be str, not bytes AttributeError: 'URLError' object has no attribute 'code' UnicodeEncodeError: 'gbk' codec can't encode character '\xa0' inposition 5747: illegal multibyte sequence 这些…
python基础系列教程——Python中的编码问题,中文乱码问题 如果不声明编码,则中文会报错,即使是注释也会报错. # -*- coding: UTF-8 -*- 或者 #coding=utf-8 就行了 . 在第一行不区分大小写. 文档编码是一种告诉程序——无论是计算机的操作系统还是Python 代码——读取文档的规则.正确读取一个文档,往往需要先知道文件的扩展名,因为编码方式往往与扩展名有很大的关系. (1)纯文本文档的获取与处理:直接用urlopen读取后,用read()函数获取文本内…
在 python 源代码文件中,如果你有用到非ASCII字符,则需要在文件头部进行字符编码的声明,声明如下: # code: UTF-8 因为python 只检查 #.coding 和编码字符串,所以你可能回见到下面的声明方式,这是有些人为了美观等原因才这样写的: #-*- coding: UTF-8 -*- 常见编码介绍: GB2312编码:适用于汉字处理.汉字通信等系统之间的信息交换 GBK编码:是汉字编码标准之一,是在 GB2312-80 标准基础上的内码扩展规范,使用了双字节编码 ASC…
python encode decode 编码 decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode('gb2312'),表示将gb2312编码的字符串str1转换成unicode编码. encode的作用是将unicode编码转换成其他编码的字符串,如str2.encode('gb2312'),表示将unicode编码的字符串str2转换成gb2312编码. 当我们想获取网页源代码,并且希望能够以html后缀或者其他格式保存文件的时候,如果不进行编码,那么保…