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

深度剖析Python 中文亂碼說明

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

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

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

例如:

setdefaultencoding

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

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

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

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

python 字符串和unicode

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

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

【編輯推薦】

  1. 有關Python系統文件進行介紹指導
  2. 如何正確的使用Python函數
  3. 對Python 構建工具進行詳細介紹分析
  4. PythonAndroid淺析Python優勢所在
  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面向對象

2010-02-03 09:35:20

Python函數編程

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歷史

2010-02-02 14:22:50

Python示例

2011-06-24 14:46:23

Qt

2010-03-01 16:48:02

Python模塊

2010-02-01 14:05:03

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲精品久久久蜜桃网站 | 色综合色综合色综合 | 亚洲欧美日韩网站 | 九九九久久国产免费 | 国产欧美一区二区三区免费 | 国产又色又爽又黄又免费 | 久久夜视频 | 日韩在线不卡 | 成人在线中文字幕 | 天天影视色综合 | 涩色视频在线观看 | 亚洲国产精品99久久久久久久久 | 国产亚洲精品精品国产亚洲综合 | 亚洲欧美综合精品久久成人 | 蜜桃精品视频在线 | 国产精品一区二区久久 | 国产精品久久久久久久久免费 | 欧美精品中文字幕久久二区 | 久草免费在线视频 | 9191成人精品久久 | 操操操av | 伊人久久免费视频 | 免费久久精品视频 | 在线免费观看视频你懂的 | 午夜合集 | 福利一区二区 | 97国产精品 | 成人午夜视频在线观看 | 久久手机视频 | 日本成人福利视频 | 色婷婷综合久久久久中文一区二区 | 亚洲精品乱码久久久久久久久 | 欧美一区二区三区 | 天天天久久久 | 一级毛片视频在线观看 | 韩国av一区二区 | 黄色大片网站 | 日韩av福利在线观看 | 精品亚洲一区二区三区四区五区 | 国产小视频在线 | 黄色免费av |