python中文乱码总结
来源:互联网 发布:黑暗之魂1萝莉捏脸数据 编辑:程序博客网 时间:2024/05/22 03:29
1、python2中的字符编码
str每个字符由8位字节表示,unicode每个字是由16位二进制数字表示。
有一个中文字符串:“授权token过期”,可以保存成string类型,也可以保存成为unicode类型;
使用unicode编码,则为:
>>> t=u"\u6388\u6743token\u8fc7\u671f">>> print t授权token过期>>> print isinstance(t, unicode) True
使用string编码,则是:
>>> s="\xe6\x8e\x88\xe6\x9d\x83token\xe8\xbf\x87\xe6\x9c\x9f">>> print s
授权token过期
>>> print isinstance(s, str) True
注:还需要将客户端xshell的显示格式设置为Unicode(UTF-8),否则显示是乱码,而不是中文字符
2、requests中的response返回信息
在调用HTTP请求时使用requests进行封装,返回存放在Response对象里,这个对象的text是unicode,content字段是string类型,如下:
-> ret, content = self.process_request(method, url, headers, params)(Pdb) n-> if ret.status_code == 200:(Pdb) p ret.content '{"status":1,"info":"\xe4\xbb\xbb\xe5\x8a\xa1url\xe6\xa0\xbc\xe5\xbc\x8f\xe9\x94\x99\xe8\xaf\xaf\xe6\x88\x96\xe4\xb8\xba\xe7\xa9\xba","error_code":10001}'(Pdb) p ret.content.decode("utf-8") #将string转换成unicode编码u'{"status":1,"info":"\u4efb\u52a1url\u683c\u5f0f\u9519\u8bef\u6216\u4e3a\u7a7a","error_code":10001}'(Pdb) p ret.text u'{"status":1,"info":"\u4efb\u52a1url\u683c\u5f0f\u9519\u8bef\u6216\u4e3a\u7a7a","error_code":10001}'(Pdb) p ret.text.encode('utf-8') #将unicode转换成string'{"status":1,"info":"\xe4\xbb\xbb\xe5\x8a\xa1url\xe6\xa0\xbc\xe5\xbc\x8f\xe9\x94\x99\xe8\xaf\xaf\xe6\x88\x96\xe4\xb8\xba\xe7\xa9\xba","error_code":10001}'
3.一个例子
>>> m="授权token过期">>> print m授权token过期>>> print isinstance(m, str)True>>> print isinstance(m, unicode)False>>> >>> n=u"授权token过期">>> print n授权token过期>>> print isinstance(n, unicode)True>>> print isinstance(n, str)False>>> print m.decode('utf-8') #将string类型解码成utf类型,这时候shell设置为Unicode(UTF-8),则显示正常授权token过期>>> print m.decode('gbk') #将string类型解码成gbk类型,这时候shell设置为Unicode(UTF-8),则显示成乱码鎺堟潈token杩囨湡
0 0
- python中文乱码总结
- python中文乱码总结
- python中文字符编码decode,encode以及乱码解决总结
- python中文字符编码decode,encode以及乱码解决总结
- python中文字符编码decode,encode以及乱码解决总结
- python总结(二):控制台中文乱码的解决办法
- Python mysql 中文乱码
- python中文乱码问题
- Python中文乱码
- python 中文乱码
- python 中文乱码解决
- python中文乱码问题
- python中文乱码问题
- python 中文乱码问题
- Python中文注释乱码
- Python 中文乱码解决方法
- python 中文乱码问题
- Python--中文乱码
- parse_ini_file() 函数的使用
- POJ-2356 Find a multiple(鸽巢原理)题目数据太垃圾了!!
- 网络嗅探器
- angular.js中的事件
- java中abstract,public,protected,private以及不写作用域的时候在继承关系中的调用
- python中文乱码总结
- css让容器水平垂直居中的n种方式
- js中的arguments
- 238. Product of Array Except Self
- 基本类型序列化和反序列化
- exe电子书制作教程(超详细)【申明:来源于网络】
- Git(十一)、标签管理
- java session.getSession(),session.getSession(true),session.getSession(false);
- SQL Server中,搭建本地数据库服务,使用sa账户登录失败解决方法