国产成人AV无码一二三区,少女1到100集,国产精品久久久久精品综合紧,巜公妇之诱感肉欲HD在线播放

文章 > 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自学网

关注

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

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

亚洲乱熟女一区二区三区山口珠理| 樱花电影大全免费观看西瓜| 女人最骚的年龄期是多少岁了 | 精品一区| 天美麻花高清在线看电视剧 | PPT成品网站1688免费| 华丽的外出在线观看| 沉沦木之音| 水蜜桃免费观看电视剧最新章节| 私じやなかったんだね简谱| 巨乳童颜| 胸吻| 小雪解开乳罩给老杨摸| 老师没戴套子C了我一天视频| 电视机怎么选| 干柴烈火115集免费观看| 王叔我老公还在客厅呢什么小说| 欧美大片PPT免费PPT| 甜蜜惩罚免费观看第一季全集| 继母后妈的梗| 我把校花嘴巴当套子的小说 | 《特别酒店》免费观看| 日本大片又大又好看的PPT| 麻豆免费无码AV在线播放| 星空传媒天美传媒有限公司 | 免费网站在线观看大全电视剧| 小孩把钢筋喂给班主任视频| 在线观看日本韩国电影电视剧| 大雷QQ弹弹摇晃| 狗配人的大片视频大全| 茉莉花| 含紧一点H.边做边走| 公憩止痒小说原著叫什么名字| 《警花交换做爰》| 蜜桃成熟时33D| 永久免费无代码开发平台网站| 《厨房激战5》完整版在线观看| 狗锁住女人狗的视频大全图片 | 兄妹客厅当父母面爱叫啥| 《淫海春潮》法国1980| 天美麻花星空影视免费观看电视剧