相信很多人和我一样,被python蛋疼的编码问题纠缠不清,比如下面的 私以为出现这种错误的原因还是对一些基本的编解码概念不够熟悉,下面就说说我的理解: 首先python刚出来的时候unicode还没有一统江湖,期间很多代码和程序压根就是直接用ascii编码,反正代码都是英文写的,而且当时那个年代写代码一般都是说英文的,那就无所谓啦,人家用的爽才不care那么多,后来互联网开始兴起,全球各个地方的人都需要了,中国这边的话自己搞了套gbk(gb2312)编码,同时该编码包含了ascii,毕竟asci…
最近被py3.4中的编码折磨的不要不要的,decode & encode的使用.功能貌似在2.7—3.0有一个巨大的变化.网上查询的一些解答很多是基于2.7中的unicode功能,给出的解答是下面: decode(解码)的作用是将其他编码的字符串转换成unicode编码,如str1.decode('gb2312'),表示将gb2312编码的字符串转换成unicode编码. encode(编码)的作用是将unicode编码转换成其他编码的字符串,如str2.encode('gb2312'),表示将…
import sys # python3 中字符编码默认为 utf-8 s = '你好' print(s) # utf-8 转为 gbk (s 默认为 unicode 所以可以直接 encode 成 gbk) s_to_gbk = s.encode('gbk') print('gbk', s_to_gbk) print('default', s.encode()) print('bytes type', type(s)) print('system default', sys.getdefaul…
python_2.x_unicode_to_str.py a = u"中文字符"; a.encode("GBK"); #打印: '\xd6\xd0\xce\xc4\xd7\xd6\xb7\xfb' print(a.encode("GBK")); 打印: �����ַ� a.encode("utf-8") 打印: '\xe4\xb8\xad\xe6\x96\x87\xe5\xad\x97\xe7\xac\xa6' 每三个byte…
原文网址:http://blog.csdn.net/trochiluses/article/details/16825269 摘要:在进行python脚本的编写时,如果我们用python来处理网页数据或者进行与中文字符有关的处理工作,经常出现这样的出错信息:SyntaxError: Non-ASCII character '\xe6' in file ./filename.py on line 3, but no encoding declared.本文主要讲解python中与unicode和中…
首先要搞清楚,字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码. decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode('gb2312'),表示将gb2312编码的字符串转换成unicode编码. encode的作用是将unicode编码转换成其他编码的字符串,如str2.encode('…
1.原始字符串python中的原始字符串以r开头,使用原始字符串可以避免字符串中转义字符带来的问题,例如写路径时 path = 'c:\noway',此时用 print path,其结果为:c:oway如果用原始字符串 path = r'c:\noway',则 print path,其结果为:c:\noway2.python中没有字符的概念,字符即长度为1的字串.3.字符串之间的转换:1) 字符串和数字之间的转换:int(x [,radix])long(x [,radix])float(x);r…
在 python 源代码文件中,如果你有用到非ASCII字符,则需要在文件头部进行字符编码的声明,声明如下: # code: UTF-8 因为python 只检查 #.coding 和编码字符串,所以你可能回见到下面的声明方式,这是有些人为了美观等原因才这样写的: #-*- coding: UTF-8 -*- 常见编码介绍: GB2312编码:适用于汉字处理.汉字通信等系统之间的信息交换 GBK编码:是汉字编码标准之一,是在 GB2312-80 标准基础上的内码扩展规范,使用了双字节编码 ASC…
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 解码与编码问题 1.decode 俗称解码,把编码解码成unicode,例如一个字符串变量 str 是utf-8编码,使用str.decode('utf-8')  ,就是把utf-8编码解码成unicode编码. 2.encode 俗称编码,把unicode编码成其他编码,例如一个字符串变量 str 是unicode编码,使用str.encode('gbk'),就是把unicode编码成gbk. 3.unicode 俗称万国码,全世界通用.(相当于中介) 4.那么问题来了,utf-…