韩漫免费漫画在线观看方法,《好好疼爱里面》免费看,年轻漂亮的女士护士内衣,妈妈醉酒后把我当爸爸电视剧

文章 > Python常见问题 > python解码后乱码的原因是什么?

python解码后乱码的原因是什么?

头像

yang

2020-05-18 15:09:133052浏览 · 0收藏 · 0评论

字符串在Python内部的表示是unicode编码,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。

decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode(‘gb2312’),表示将gb2312编码的字符串str1转换成unicode编码。

encode的作用是将unicode编码转换成其他编码的字符串,如str2.encode(‘utf-8’),表示将unicode编码的字符串str2转换成utf-8编码。

代码如下:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author: xulinjie time:2017/10/22
import urllib2

request=urllib2.Request(r'http://nhxy.zjxu.edu.cn/')
RES=urllib2.urlopen(request).read()
RES = RES.decode('gb2312').encode('utf-8')//解决乱码
wfile=open(r'./1.html',r'wb')
wfile.write(RES)
wfile.close()
print RES

如果一个字符串已经是unicode了,再进行解码则将出错,因此通常要对其编码方式是否为unicode进行判断,

isinstance(s, unicode)#用来判断是否为unicode。

最终可靠代码:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author: xulinjie time:2017/10/22
import urllib2

request=urllib2.Request(r'http://nhxy.zjxu.edu.cn/')
RES=urllib2.urlopen(request).read()

if isinstance(RES, unicode):
    RES=RES.encode('utf-8')
else:
    RES=RES.decode('gb2312').encode('utf-8')

wfile=open(r'./1.html',r'wb')
wfile.write(RES)
wfile.close()
print RES

更多Python知识请关注Python自学网

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

婆媳双飞杨钰莹阅读| 中美芬太尼事件背景| 《妻欲公与媳》免费看| 《厨房激战5》完整版在线观看| 男人把困困进女生困困视频| 情趣刑具| AE射频电源成色| 特殊服务| 坠落的清纯校花沈清清小说| 大叔和妈妈免费观看电视剧第3集| 芒果浏览器| 成全在线观看免费完整的| 酒店实拍100部视频最新进展 | 《强壮的公2做爰观看| 我把英语老师按在桌子吵了一顿| 两阳夹一阴与其他强势形态的比较| 私じやなかったんだね简谱| 《办公室高潮秘书2》| 《医务室的小秘密》动漫第一季免... | 成人电影| 医生含着我的奶边摸边做视频| 男人女人免费观看40集电视剧 | 瑜伽教练韩国| 女人尝试到更粗大的心理变化| 啊..快..岳女双飞| 少女哔哩哔哩免费高清观看2| 主人~我错了请把它关掉歌词| 两人一起做AJ的视频教程| 《初尝禁果》2:做爰HD| 年轻的嫂子2| 摸摸大扔子的视频大全| 在电影院被强了好爽H| 男女做受AHAAAA| 解开乳置喂领导吃奶| 《特殊的补课方式》| GOGO中日韩人体大胆高清专业| 儿媳妇免费播放全部电视剧| 女朋友太骚了每次进去都觉得很热| 女上司的秘密| 免费的行情网站WWW下载大全| 如何正确拔萝卜