成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

深度剖析Python 中文亂碼說明

開發(fā) 后端
對于每一個IT行業(yè)的從業(yè)人員,無論是開發(fā)人員、項目經(jīng)理、還是測試人員,掌握了Python 中文亂碼會使我們的編程工作更簡單和更輕松。

一直以來,Python 中文亂碼就是一個極為頭大的問題,經(jīng)常拋出編碼轉(zhuǎn)換的異常,python中的str和unicode到底是一個什么東西呢?下面就進行學習相關Python 中文亂碼問題。

Python 中文亂碼中提到unicode,一般指的是unicode對象,例如'哈哈'的unicode對象為而str,是一個字節(jié)數(shù)組,這個字節(jié)數(shù)組表示的是對unicode對象編碼(可以是utf-8、gbk、cp936、GB2312)后的存儲的格式。這里它僅僅是一個字節(jié)流,沒有其它的含義,如果你想使這個字節(jié)流顯示的內(nèi)容有意義,就必須用正確的編碼格式,解碼顯示。

例如:

setdefaultencoding

對于unicode對象哈哈進行編碼,編碼成一個utf-8編碼的str-s_utf8,s_utf8就是是一個字節(jié)數(shù)組,存放的就是'\xe5\x93\x88\xe5\x93\x88',但是這僅僅是一個字節(jié)數(shù)組,如果你想將它通過print語句輸出成哈哈,那你就失望了,為什么呢?

因為print語句它的實現(xiàn)是將要輸出的內(nèi)容傳送了操作系統(tǒng),操作系統(tǒng)會根據(jù)系統(tǒng)的編碼對輸入的字節(jié)流進行編碼,這就解釋了為什么utf-8格式的字符串“哈哈”,輸出的是“鍝堝搱”。

因為 '\xe5\x93\x88\xe5\x93\x88'用GB2312去解釋,其顯示的出來就是“鍝堝搱”。這里再強調(diào)一下,str記錄的是字節(jié)數(shù)組,只是某種編碼的存儲格式,至于輸出到文件或是打印出來是什么格式,完全取決于其解碼的編碼將它解碼成什么樣子。

這里再對print進行一點補充說明:當將一個unicode對象傳給print時,在內(nèi)部會將該unicode對象進行一次轉(zhuǎn)換,轉(zhuǎn)換成本地的默認編碼(這僅是個人猜測) str和unicode對象的轉(zhuǎn)換,通過encode和decode實現(xiàn),具體使用如下:

python 字符串和unicode

將GBK'哈哈'轉(zhuǎn)換成unicode,然后再轉(zhuǎn)換成UTF8 后就可以轉(zhuǎn)換成功,為什么呢?在python中str和unicode在編碼和解碼過程中。如果將一個str直接編碼成另一種編碼,會先把str解碼成unicode,采用的編碼為默認編碼,一般默認編碼是 ansci i,所以在上面示例代碼中***次轉(zhuǎn)換的時候會出錯,當設定當前默認編碼為'gbk'后,就不會出錯了。

在***節(jié)已經(jīng)說過,Python 中文亂碼中的字符串,只是一個字節(jié)數(shù)組,所以當把a情況的str輸出到gbk編碼的控制臺時,就將顯示為亂碼:鍝堝搱;而當把b情況下的str輸出utf-8編碼的控制臺時,也將顯示亂碼的問題,是什么也沒有,也許'\xb9\xfe\xb9\xfe'用utf-8解碼顯示,就是空白吧至于reload(sys)是因為 Python2.5 初始化后會刪除 sys.setdefaultencoding 這個方法,我們需要重新載入 。

【編輯推薦】

  1. 有關Python系統(tǒng)文件進行介紹指導
  2. 如何正確的使用Python函數(shù)
  3. 對Python 構(gòu)建工具進行詳細介紹分析
  4. PythonAndroid淺析Python優(yōu)勢所在
  5. 如何使用Python模塊解析配置文件?
責任編輯:chenqingxiang 來源: NET130
相關推薦

2010-02-23 10:50:11

Python 測試框架

2010-02-04 14:01:44

Android應用

2010-06-07 11:13:46

MySQL中文亂碼

2010-01-13 10:16:42

C++軟件

2010-02-01 13:34:59

Python 腳本

2010-02-02 15:25:35

Python語法

2010-02-03 16:56:24

Python包

2010-03-01 14:50:06

Python 工具

2010-03-01 18:33:30

2010-02-02 13:22:06

Python面向?qū)ο?/a>

2010-02-03 09:35:20

Python函數(shù)編程

2010-02-03 11:26:28

2010-02-24 16:33:28

Python功能

2010-02-26 10:38:29

Python語言

2010-02-26 17:44:40

Python測試框架

2010-02-23 10:05:52

Python歷史

2011-06-24 14:46:23

Qt

2010-02-02 14:22:50

Python示例

2010-02-01 14:05:03

2010-02-24 14:04:32

Python腳本語言
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产成人精品免费视频大全最热 | 国产精品久久毛片av大全日韩 | www久久久 | 在线看免费 | 久久99久久98精品免观看软件 | 看a网站| 黄色大片免费网站 | 国产精品久久久久久久久久久新郎 | 国产一在线 | 久草成人| 中文字幕一区在线观看视频 | 国产亚洲一区二区三区 | 国产午夜精品一区二区三区四区 | 国产一区二区视频在线 | 精品一区二区三区在线观看国产 | 亚洲网站在线观看 | 成人在线视频一区二区三区 | 一区二区三区精品在线 | 亚洲精品一区国语对白 | 国产丝袜一区二区三区免费视频 | 精品一区二区在线观看 | 亚洲国产自产 | 中文字幕一区二区三区在线观看 | www.日本国产| 中国91av| 91国在线视频 | 国产激情免费视频 | 1000部精品久久久久久久久 | 亚洲精品乱码久久久久久9色 | 久久久青草婷婷精品综合日韩 | 在线看av的网址 | 精品亚洲一区二区三区四区五区 | 国产视频h| 日本一区二区三区免费观看 | 青青久久久 | 丁香六月激情 | 日韩精品免费看 | 欧美成人二区 | 韩国欧洲一级毛片 | 91精品国产手机 | 日韩欧美三区 |