python字符decode与encode的问题】的更多相关文章

同事在工作中遇到一个字符编码的问题:问题是:从mysql数据库中读出来的varchar类型数据在python是unicode类型的. 但他却对这个unicode字符进行了decode,因为他以为读出来的是utf-8(python中的str类型).程序中报错了. 但比较奇怪的是,另一个大神同事也做了同样的事情,却没有报错.细细比较代码起来,发现没出错的同事的代码中多了一行 reload(sys)sys.setdefaultencoding('utf-8') 个人猜测,当python在做decode…
#-*-coding:utf-8 import sys ''' *首先要搞清楚,字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码, 即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码. decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode('gb2312'),表示将gb2312编码的字符串str1转换成unicode编码. encode的作…
1. decode与encode转码 在Python3中默认编码就是uncode,encode转成Byte类型 在Python2中默认编码就是ascii window下默认编码是GBK decode(告诉人家我是谁),encode(我要转成谁) s="你好" #uncode s_uncode=s.encode("utf-8").decode("utf-8") print(s_uncode) #uncode与utf-8的区别,uft-8节省了空间,…
一.先说说编解码问题 编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码. Eg: str1.decode('gb2312') #将gb2312编码的字符串转换成unicode编码 str2.encode('gb2312') #将unicode编码的字符串转换成gb2312编码 python2.7 idle GUI界面打印中文会出现乱码,这是idle本身问题: cmd界面的python2…
摘抄: 字符串在Python内部的表示是Unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符解码(decode)成unicode,再从unicode编码(encode)成另一种编码. decode的作用是将其他编码的字符转换成unicode编码,如str1,decode('gb2312'),表示将gb2312编码的字符串str1转换成unicode编码. encode的作用是将unicode编码转换成其他编码的字符串,如str2,encode('g…
常见编码介绍: GB2312编码:适用于汉字处理.汉字通信等系统之间的信息交换;GBK编码:是汉字编码标准之一,是在 GB2312-80 标准基础上的内码扩展规范,使用了双字节编码ASCII编码:是对英语字符和二进制之间的关系做的统一规定.主要是老美用.*****日本.韩国其他国家也有自己的编码规则,如果多语言混用就出现乱码,所以unicode产生Unicode编码:这是一种世界上所有字符的编码.当然了它没有规定的存储方式.UTF-8编码:是 Unicode Transformation For…
使用codecs模块,在Python中完成字符编码   字符的编码是按照某种规则在单字节字符和多字节字符之间进行转换的某种方法.从单字节到多字节叫做decoding,从多字节到单字节叫做encoding.在这些规则中经常用到的无非是UTF-8和GB2312两种.   在Python中,codecs模块提供了实现这些规则的方法,通过模块公开的方法我们能够方便地获取某种编码方式的Encoder和 Decoder工厂函数(Factory function),以及StreamReader.StreamW…
(注:本文部分内容摘自互联网,由于作者水平有限,不足之处,还望留言指正.) 记得几天前,部门的一个小姑娘问我,怎么她Python打印出来的中文信息都乱码了?我走过去,略思一二,瞬间给她搞定,其实这是字符编码转换的问题.这时,我注意到小姑娘流露出一丝丝崇拜的眼神.所以我想,如果你连编码问题都搞不定,还怎么泡妞啊.可能一部分人也会进入这种误区,我以我小学生的水平,把我的理解结合网上的资料写下来. 注意:Python3默认编码是unicode:而Python2是ASCII码.Windows环境默认是g…
对于encode和decode,笔者也是根据自己的理解,有不对的地方还请多多指点. 编码的理解: 1.编码:utf-8,utf-16,gbk,gb2312,gb18030等,编码为了便于理解,可以把它当做一个算法,用于加密和解密.基类编码字符集:unicode等,基类编码字符集可以理解为明文.其他编码字符集: ANSCII,汉字等,其他类编码字符集可以理解为密文.三者的关系是明文用算法加密成密文,密文用算法解密成明文. 2.Python 默认脚本文件都是 ANSCII 的,当代码中有非 ANSC…
参考: http://www.jb51.net/article/17560.htm 如果要在python2的py文件里面写中文,则必须要添加一行声明文件编码的注释,否则python2会默认使用ASCII编码. # -*- coding:utf-8 -*- 字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码. decode的作用…