自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

圖解Python語言說明介紹

開發(fā) 后端
在Python語言中,“str”對象就是一個字節(jié)數(shù)組,至于里面的內(nèi)容是不是一個合法的字符串,以及這個字符串采用什么編碼(gbk, utf-8, unicode)都不重要。

Python語言這同時說明IDLE的Shell支持兩種格式的中文字符串:GBK編碼的“str”對象,和UNICODE編碼的unicode對象,我連接的時候也用的是UTF-8,為什么查詢得到的文本內(nèi)容卻是UNICODE編碼(unicode對象)?這是MySQLdb庫的設(shè)置么?

在window下面用記事本編輯文件的時候,如果保存為UNICODE或UTF-8,分別會在文件的開頭加上兩個字節(jié)“\xFF\xFE”和三個字節(jié)“\xEF\xBB\xBF”。在讀取的時候就可能會遇到問題,但是不同的環(huán)境對這幾個多于字符的處理也不一樣。

 打開utf-8格式的文件并讀取utf-8字符串后,解碼變成unicode對象。但是會把附加的三個字符同樣進行轉(zhuǎn)換,變成一個unicode字符,字符的數(shù)據(jù)值為“\xFF\xFE”。這個字符不能被打印。編碼的時候需要跳過這個字符。

打開unicode格式的文件后,得到的字符串正確。這時候適用utf-16解碼,能得到正確的unicdoe對象,可以直接使用。多余的那個填充字符在進行轉(zhuǎn)換時會被過濾掉。

開ansi格式的文件后,沒有填充字符,可以直接使用,結(jié)論:讀寫使用python生成的文件沒有任何問題,但是在處理由notepad生成的文本文件時,如果該文件可能是非ansi編碼,需要考慮如何處理填充字符。

剛剛接觸Python語言,我用的數(shù)據(jù)庫是mysql。在執(zhí)行插入、查找等操作時,如果運行環(huán)境使用的字符編碼和mysql不一致,就可能導(dǎo)致運行時的錯誤。當(dāng)然,和上面看到的情況一樣。

運行環(huán)境并不是關(guān)鍵因素,關(guān)鍵是查詢語句的編碼方式。如果在每次執(zhí)行查詢操作時都把查詢字符串做一次編碼轉(zhuǎn)換,轉(zhuǎn)變成mysql的默認字符編碼,一樣不會遇到問題。但是這樣寫代碼也太痛苦了吧。

相面是兩種方法的用法比較:


另外,在Python語言的shell中,不要用 u’中文’ 對屬性進行賦值。上面討論過,這樣得到的unicode字符串不正確。

【編輯推薦】

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

2010-03-01 10:52:37

Python開發(fā)語言

2010-03-01 16:20:04

Python

2010-03-01 18:07:53

Python語言

2010-02-26 10:07:55

Python編程語言

2010-01-13 16:44:03

C++

2009-12-18 09:17:29

VS 2008項目

2010-02-02 14:54:28

Python語法

2010-02-03 17:37:30

Python語法

2010-02-02 13:28:46

Python變量

2010-02-01 18:06:48

Python Edit

2010-02-22 16:16:14

Python語法

2010-02-22 17:54:07

Python工具

2010-02-24 17:22:59

Python項目

2010-02-02 14:42:38

Python線程

2010-03-01 13:13:02

Python應(yīng)用線程

2010-02-22 14:28:10

Python程序

2010-02-22 11:14:43

Python編寫

2010-02-26 11:08:29

Python應(yīng)用程序

2010-01-12 10:21:42

C++語言

2010-02-23 14:41:28

Python模塊
點贊
收藏

51CTO技術(shù)棧公眾號