>>importsys>>>sys.getdefaultencoding()'a" />

黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

Python2.x中文亂碼問題解決方法

系統 2009 0

Python中亂碼問題是一個很頭痛的問題。
在Python3中,對中文進行了全面的支持,但在Python2.x中需要進行相關的設置才能使用中文。否則會出現亂碼

【問題原因】

在Python2.x中主要是字符編碼的問題,處理不好的話,會導致亂碼。Python默認采取的ASCII編碼,字母、標點和其他字符只使用一個字節來表示,但對于中文字符來說,一個字節滿足不了需求。

復制代碼 代碼如下:

>>> import sys?
>>> sys.getdefaultencoding()?
'ascii'?

為了能在計算機中表示所有的中文字符,中文編碼采用兩個字節表示。如果中文編碼和ASCII混合使用的話,就會導致解碼錯誤,從而才生亂碼。而CMD下默認的編碼方式為:GBK,所以就造成了上面的亂碼!

Python2.x中文亂碼問題解決方法_第1張圖片

采用兩個字節的中文編碼標準有:GB2312、GBK、BIG5等。

【處理辦法】

為了將各種不同的語言包含在統一的字符集中,滿足國際間的信息交流,國際上制訂了UNICODE字符集,包含了世界上所有語言字符,這些字符具有唯一的編碼,通過使用UNICODE字符集可以滿足跨語言的文字處理,避免亂碼的產生。
i)? 交互式命令中:一般不會出現亂碼,無需做處理

Python2.x中文亂碼問題解決方法_第2張圖片

ii) py腳本文件中:跨字符集必須做設置,否則亂碼。
首先在開頭一句添加:

復制代碼 代碼如下:

# coding = utf-8?
# 或?
# coding = UTF-8?
# 或?
# -*- coding: utf-8 -*-?

其次需將文件保存為UTF-8的格式!

上面那一句僅僅是告訴Python編譯器:腳本中包含了非ASCII字符,并未進行轉換。
如果要將字符編碼從默認的ASCII改為UTF-8,需要在保存的時候選擇保存為UTF-8格式。

如果是用NODEPAD打開,【另存為】-->UTF-8即可

Python2.x中文亂碼問題解決方法_第3張圖片

如果是用IDLE打開,【Options】-> 【Configure IDLE】->【General】

Python2.x中文亂碼問題解決方法_第4張圖片

上面的設置,可以保證IDLE,運行F5,能正常輸出中文。

【編碼解碼】

在開頭添加了# -*- coding: utf-8 -*-并將文件保存為UTF-8格式,仍然不能保證能輸出正常輸出中文,
不同的編輯器,如VIM,IDLE,Eclipse使用的輸出編碼都是不一致的。
所以,在一個地方能正常輸出中文,在另外一個地方就未必。所以還必須做編碼解碼設置!

encode:編碼
decode:解碼

必須保證編碼、解碼的對象是同一個。比如說UTF-8方式編碼, 必須再用UTF-8進行解碼即可。

所以最終解決辦法,還必須先按原先的方式解碼,再按控制臺格式重新編碼:比如CMD默認是GBK方式
則必須使用如下方式:

Python2.x中文亂碼問題解決方法_第5張圖片

正確輸出結果:

【其他說明】
1.在Python3中,對中文的支持非常全面,源文件默認保存為UTF-8的編碼,這樣一來,不但可以在源代碼中使用中文,而且變量名也可以使用中文,比如說:

復制代碼 代碼如下:

>>> 中國 = 'Chinese'?
>>> print(中國)?
Chinese?

2.在Python3中,不需要來回的編解碼,并且字符串對象也沒有decode和encode方法。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論