91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python解碼后為什么會亂碼

發布時間:2020-07-07 16:40:23 來源:億速云 閱讀:154 作者:清晨 欄目:編程語言

這篇文章主要介紹python解碼后為什么會亂碼,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

字符串在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解碼后為什么會亂碼的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

沈丘县| 邛崃市| 烟台市| 新余市| 西畴县| 色达县| 宁化县| 宝山区| 西乌| 绥德县| 大竹县| 团风县| 苏尼特左旗| 阿坝| 宿州市| 玉溪市| 黄浦区| 波密县| 中超| 枣阳市| 越西县| 鹤庆县| 铜陵市| 汉寿县| 婺源县| 襄城县| 博兴县| 明溪县| 普陀区| 清苑县| 时尚| 宁强县| 璧山县| 九江县| 鄂伦春自治旗| 曲水县| 揭西县| 齐齐哈尔市| 屏东县| 临湘市| 股票|