转~Python字符串的encode与decode研究心得——解决乱码问题 为什么Python使用过程中会出现各式各样的乱码问题,明明是中文字符却显示成“/xe4/xb8/xad/xe6/x96/x87”的形式?为什么会报错“UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)”?本文就来研究一下这个问题. 字符串在Python内部的表示是unico…
encode是指将unicode字符编码成其他字符集的字符,如utf-8,ascii等: 而decode是指将其他字符编码,如utf-8转换成unicode编码. encode是指将人类用的语言(字符串)编码为机器能识别的语言(字节码),decode反之. [简单来说编码就是把人类通用的语言符号翻译成计算机通用的对象,而反向的翻译过程自然就是解码了.Python 中的字符串类型代表人类通用的语言符号,因此字符串类型有encode()方法:而字节类型代表计算机通用的对象(二进制数据),因此字节类型…
1.encode与decode:unicode经过encode -> utf-8,反过来为decode. 爬虫读取网页内容和pandas读取csv时,会把读取到的文字内容转成unicode,当我们需要把这些文字内容写入到新的文件时,需要设置该文件的编码(该编码应该与网页或原来的编码相同,以便带来编码的问题),即做一个encode的过程. 2.读取时文件的编码要与写入文件时编码相同.即读取csv文件时,文件的编码为utf-8,读取到的内容写入到新的csv时,应该把新csv的编码也设置为utf-8,…
说这个问题之前必须的介绍关于编码的在我们这的发展: 首先电脑能识别的最初的语言是二进制 ---010101这种 然后在是我们知道的ASSIC码 再过了就是 gb2312----------->gbk1.0--------->最后是gbk18030 最后国际上为了统一编制了 Unicode  但是Unicode有三个版本Unicode‘UTF——32’, 每个字符都是4个字节,一个字节8bety,但美国人民有点不愿意,随后 改编成了Unicode‘UTF——16’每个字符都是两个字节,最后改编成…
转自: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作为中间编码,即先将其他编码的字符串解码(…
字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码. decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode('gb2312'),表示将gb2312编码的字符串str1转换成unicode编码. encode的作用是将unicode编码转换成其他编码的字符串,如str2.encode('gb2…
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作为…
引言: 在Restful类的服务设计中,经常会碰到需要在URL地址中使用中文作为的参数的情况,这种情况下,一般都需要正确的设置和编码中文字符信息.乱码问题就此产生了,该如何解决呢?且听本文详细道来. 1.  问题的引出 在Restful的服务设计中,查询某些信息的时候,一般的URL地址设计为: get /basic/service? keyword=历史 , 之类的URL地址. 但是,在实际的开发和使用中,确是有乱码情况的发生,在后台的读取keyword信息为乱码,无法正确读取. 2. 乱码是如…
转自: http://blog.sina.com.cn/s/blog_765abd7b0101dtbw.html 学习,记录一下.中文编码真的挺麻烦.抽空把自己的sb3的配置写一些. 该问题让我纠结了足足有两天的时间.万幸最后终于给解决了 os:win7/win8   python:v2.7.5 如果用sublime在控制台输出中文乱码 第一步:在代码的前两行加入 #!/usr/bin/python #-*- coding : utf-8 -*- 加入上面代码后执行.失败后继续往下(怪异的现象打…
UnicodeEncodeError: 'latin-1' codec can't encode characters in position 9-13: ordinal not in range(256) 后来苦思冥想找资料,最后发现一个办法,可以解决上述问题,就是: 在下图所示处加上下面箭头所指那句,即图后蓝色代码 account = accountraw.encode("utf-8").decode("latin1") file="中国.xls&qu…