日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

解決python中文亂碼問題方法總結(jié)

瀏覽:47日期:2022-06-20 15:13:58

在運(yùn)行這樣類似的代碼:

#!/usr/bin/env pythons='中文'print s

最近經(jīng)常遇到這樣的問題:

問題一:

SyntaxError: Non-ASCII character ’xe4’ in file E:codingpythonUntitled 6.py on line 3, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details

問題二:

UnicodeDecodeError: ’ascii’ codec can’t decode byte 0xe5 in position 108: ordinal not in range(128)

問題三:

UnicodeEncodeError: ’gb2312’ codec can’t encode character u’u2014’ in position 72366: illegal multibyte sequence

這些都是跟字符編碼有關(guān)的問題,很郁悶,中文總是弄不出來(lái),找了很多方案,這里有些是我前幾天找到的一些方案,拿出來(lái)給大家分享一下哈

字符串在Python內(nèi)部的表示是unicode 編碼,因此,在做編碼轉(zhuǎn)換時(shí),通常需要以u(píng)nicode作為中間編碼,即先將其他編碼的字符串解碼(decode)成unicode,再?gòu)膗nicode編碼(encode)成另一種編碼。

decode的作用是將其他編碼的字符串轉(zhuǎn)換成unicode編碼,如str1.decode(’gb2312’),表示將gb2312編碼的字符串str1轉(zhuǎn)換成unicode編碼。

encode的作用是將unicode編碼轉(zhuǎn)換成其他編碼的字符串,如str2.encode(’gb2312’),表示將unicode編碼的字符串str2轉(zhuǎn)換成gb2312編碼。

在某些IDE中,字符串的輸出總是出現(xiàn)亂碼,甚至錯(cuò)誤,其實(shí)是由于IDE的結(jié)果輸出控制臺(tái)自身不能顯示字符串的編碼,而不是程序本身的問題。

如在UliPad中運(yùn)行如下代碼:

s=u'中文'print s

會(huì)提示:

UnicodeEncodeError: ’ascii’ codec can’t encode characters in position 0-1: ordinal not in range(128)

這是因?yàn)閁liPad在英文WindowsXP 上的控制臺(tái)信息輸出窗口是按照ascii編碼輸出的(英文系統(tǒng)的默認(rèn)編碼是ascii),而上面代碼中的字符串是Unicode編碼的,所以輸出時(shí)產(chǎn)生了錯(cuò)誤。

將最后一句改為:print s.encode(’gb2312’)

則能正確輸出“中文”兩個(gè)字。

若最后一句改為:print s.encode(’utf8’)

則輸出:xe4xb8xadxe6x96x87,這是控制臺(tái)信息輸出窗口按照ascii編碼輸出utf8編碼的字符串的結(jié)果。

下面代碼可能比較通用一些,如下:

#!/usr/bin/env python #coding=utf-8 s='中文'if isinstance(s,unicode): #s=u'中文' print s.encode(’gb2312’) else: #s='中文' print s.decode(’utf-8’).encode(’gb2312’)#!/usr/bin/env python#coding=utf-8s='中文'if isinstance(s,unicode): #s=u'中文' print s.encode(’gb2312’)else: #s='中文' print s.decode(’utf-8’).encode(’gb2312’)

看看下面一段代碼:

#!/usr/bin/env python #coding=utf-8 #python version:2.7.4 #system:windows xp import httplib2def getPageContent(url): ’’’’’ 使用httplib2用編程的方式根據(jù)url獲取網(wǎng)頁(yè)內(nèi)容 將bytes形式的內(nèi)容轉(zhuǎn)換成utf-8的字符串 ’’’ #使用ie9的user-agent,如果不設(shè)置user-agent將會(huì)得到403禁止訪問 headers={’user-agent’:’Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)’, ’cache-control’:’no-cache’} if url: response,content= httplib2.Http().request(url,headers=headers) if response.status== 200 : return content

import sys reload(sys) sys.setdefaultencoding(’utf-8’) #修改默認(rèn)編碼方式,默認(rèn)為ascci print sys.getdefaultencoding() content= getPageContent('http://www.oschina.net/')print content.decode(’utf-8’).encode(’gb2312’)#!/usr/bin/env python#coding=utf-8#python version:2.7.4#system:windows xpimport httplib2def getPageContent(url): ’’’ 使用httplib2用編程的方式根據(jù)url獲取網(wǎng)頁(yè)內(nèi)容 將bytes形式的內(nèi)容轉(zhuǎn)換成utf-8的字符串 ’’’ #使用ie9的user-agent,如果不設(shè)置user-agent將會(huì)得到403禁止訪問 headers={’user-agent’:’Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)’, ’cache-control’:’no-cache’} if url: response,content= httplib2.Http().request(url,headers=headers) if response.status== 200 : return content

import sysreload(sys)sys.setdefaultencoding(’utf-8’) #修改默認(rèn)編碼方式,默認(rèn)為ascciprint sys.getdefaultencoding()content= getPageContent('//www.jb51.net/')print content.decode(’utf-8’).encode(’gb2312’)

上面的代碼的意思:向www.jb51.net網(wǎng)站請(qǐng)求他的主頁(yè),(如果直接是utf-8編碼,不能輸出中文)想將編碼方式為utf-8轉(zhuǎn)向gd2312,出現(xiàn)問題三

當(dāng)我把它將print content.decode(’utf-8’).encode(’gb2312’)改成print content.decode(’utf-8’).encode(’gb2312’, ‘ignore’)時(shí),OK了,可以顯示中文了,但不敢確定是否為全部,貌似只有部分吧,有些不能用gb2312編碼

然而,當(dāng)我把網(wǎng)站換成 www.soso.com時(shí),不用轉(zhuǎn)為gb2312,用utf-8即可正常顯示中文

總結(jié)一下:

向文件直接輸出ss會(huì)拋出同樣的異常。在處理unicode中文字符串的時(shí)候,必須首先對(duì)它調(diào)用encode函數(shù),轉(zhuǎn)換成其它編碼輸出。這一點(diǎn)對(duì)各個(gè)環(huán)境都一樣。在Python中,“str”對(duì)象就是一個(gè)字節(jié)數(shù)組,至于里面的內(nèi)容是不是一個(gè)合法的字符串,以及這個(gè)字符串采用什么編碼(gbk, utf-8, unicode)都不重要。這些內(nèi)容需要用戶自己記錄和判斷。這些的限制也同樣適用于“unicode”對(duì)象。要記住“unicode”對(duì)象中的內(nèi)容可絕對(duì)不一定就是合法的unicode字符串,我們很快就會(huì)看到這種情況。在windows的控制臺(tái)上,支持gbk編碼的str對(duì)象和unicode編碼的unicode對(duì)象。

更多關(guān)于解決python中文亂碼問題方法總結(jié)的文章請(qǐng)查看下面的相關(guān)鏈接

標(biāo)簽: Python 編程
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
久久三级毛片| 久久精品资源| 毛片在线网站| 精品视频高潮| 日本精品在线播放| 亚洲午夜免费| 国产精品巨作av| 免费一区二区三区在线视频| 麻豆精品久久久| 国产一区二区三区天码| 美女久久久久久| 精品三级久久| 在线视频精品| 国产九九精品| xxxxx性欧美特大| 欧美日韩日本国产亚洲在线 | 国产66精品| 美女国产一区二区三区| 在线亚洲人成| 日韩中文字幕区一区有砖一区| 亚洲精品精选| 国产一区二区三区精品在线观看| 成人在线网站| 午夜性色一区二区三区免费视频| 国产精品一区二区美女视频免费看| 色综合五月天| 国产亚洲网站| 久久一区亚洲| 美国三级日本三级久久99| 日韩毛片网站| 久久久久久久久丰满| 日韩精品一区二区三区免费视频| 国产伦乱精品| 中文无码久久精品| 日本精品在线中文字幕| 青草久久视频| 美女精品在线观看| 97精品国产一区二区三区| 亚洲精品精选| 亚洲欧美一区在线| 久久久精品国产**网站| 最新国产精品久久久| 日韩在线观看不卡| 精品视频黄色| 亚洲精品无播放器在线播放| 日本不卡免费高清视频在线| 奇米亚洲欧美| 婷婷成人综合| 免费高潮视频95在线观看网站| 91精品丝袜国产高跟在线| 在线精品视频在线观看高清| 国产精品1luya在线播放| 日韩精品一二三四| 欧美粗暴jizz性欧美20| 中文字幕在线视频久| 精品国产亚洲一区二区在线观看| 国产日韩欧美一区在线| 日韩精品一区二区三区中文在线 | 国产探花一区| 国产亚洲精品v| 国产探花在线精品一区二区| 日本久久黄色| 国产极品嫩模在线观看91精品| 婷婷综合福利| 亚洲性视频在线| 亚洲人成网站在线在线观看| 丝袜亚洲另类欧美| 午夜一区在线| 婷婷精品在线| 国产情侣久久| 精品一区av| 91精品韩国| 黄色亚洲精品| 亚洲精品韩国| 亚洲区第一页| 国产精品久久久久久模特| 麻豆精品在线播放| 欧美日韩视频网站| 成人av动漫在线观看| 亚洲免费网址| 日韩高清不卡一区二区| 欧美成人精品一级| 电影天堂国产精品| 中文一区二区| 69精品国产久热在线观看| 欧美91在线| 欧美精品一区二区三区精品| 伊人国产精品| 美腿丝袜亚洲三区| 97在线精品| 中文字幕日本一区二区| 麻豆久久一区二区| 久久伦理在线| 国产亚洲精aa在线看| 99热精品久久| 欧美日韩亚洲一区三区| 欧美亚洲在线日韩| 日韩欧美久久| 怡红院精品视频在线观看极品| 国产精品黄色| 亚洲麻豆一区| 精品一区免费| 国产精品久久久久久久久久10秀| 在线精品一区| 精品国产午夜肉伦伦影院| 六月丁香综合| 丝袜av一区| 卡一卡二国产精品| 日韩三级久久| 91久久视频| 欧美激情另类| 国产精品v一区二区三区| 欧美精品一二| 99热精品久久| 国产成人精品亚洲日本在线观看| 国产精品777777在线播放| 综合五月婷婷| 欧美日韩视频| 99久久亚洲精品| 国产高清亚洲| 亚洲精品动态| 蜜桃av一区二区三区电影| 欧美日中文字幕| 久久三级视频| 日韩国产一区二区| 日韩在线观看一区| 丝袜诱惑一区二区| 日韩黄色大片| 韩国久久久久久| 日韩成人综合| 亚洲精品国产嫩草在线观看 | 欧美中文字幕一区二区| 91看片一区| 国产一区国产二区国产三区| 麻豆中文一区二区| 日韩综合一区| 亚洲国产综合在线看不卡| 伊人久久成人| 欧美日韩a区| 成人国产精品一区二区免费麻豆| 日韩精品1区| 久久狠狠婷婷| 蜜臀a∨国产成人精品| 日本欧美在线| 久久午夜影院| 午夜日本精品| 91精品啪在线观看国产爱臀| 你懂的国产精品永久在线| 亚洲精品裸体| 麻豆免费精品视频| 久久国产免费| 日韩av网站在线观看| 国产精品久久久久久久久久10秀| 性欧美xxxx免费岛国不卡电影| 中文字幕日韩亚洲| 日韩在线观看| 日本aⅴ精品一区二区三区| а√天堂8资源中文在线| 性色av一区二区怡红| 国产极品嫩模在线观看91精品| 久久精品中文| 欧美一级一区| 99久久视频| 欧美亚洲tv| 波多野结衣一区| 精品三区视频| 日本一区免费网站| 欧美 日韩 国产一区二区在线视频| 日韩福利视频导航| 中文日韩欧美| 欧美gv在线| 免费看久久久| 日韩一区二区三免费高清在线观看 | 国产免费播放一区二区| 在线看片不卡| 久久精品免视看国产成人| 综合精品一区| 视频一区在线视频| 久久久久久久久丰满| 精品黄色一级片| 日本少妇精品亚洲第一区| 黑丝一区二区三区| 欧美综合另类| 99视频精品全国免费| 精品亚洲a∨| 久久超级碰碰| 国产精品巨作av| 国产情侣久久| 国产精品videossex久久发布 | 中文字幕一区二区三区四区久久| 久久国产直播| 香蕉成人av| 免费在线小视频| 成人国产综合| 亚洲人成在线网站| caoporn视频在线| 欧美好骚综合网| 亚洲91视频| 香蕉国产精品| 亚洲人成网77777色在线播放|