[python IO學習篇]補充打開中文路徑的文件


http://blog.csdn.net/mottolinux/article/details/52560062
1 關於Python編碼的基本常識 在python里面 “明文”是unicode類型和str , “密文”是其他的編碼格式 如gbk utf
-8 latin-1等等 編碼: “明文”->”密文” .encode([目標編碼格式]) 對象必須為unicode類型 解碼: “密文”->”明文” .decode([源編碼格式]) 對象為str類型 對於漢字 一共有三大類編碼方式 以中文漢字”李”為例子 a. unicode類 機器碼 \x67\x4e unicode(python表示) \u674e HTML Entity &#x674E UTF-16(BE) 0x674E UTF-32(BE) 0x0000674E b. UTF-8類 機器碼 \xe6\x9d\x8e UTF-8(python表示) \xe6\x9d\x8e URL Escape Code %E6%9D%8E Octal Escape Sequence \346\235\216 c. gb類 機器碼 \xc0\xee gb2312 gbk gb18030 \xc0\xee
2 設置 .py文件上的中文編碼格式
    
    (1)py文件內容上出現字符串上的中文
    (2)包括前面帶u的(轉換成unicode格式的字符串) 首先也是根據設置的文件編碼格式讀取字符串文字量 再作unicode的轉換
    (3)如果添加了#coding=utf-8,則將中文按utf-8轉成unicode
    (4)如果沒有添加#coding=utf-8,則按系統默認的編碼格式
    (5)系統的默認編碼,獲取代碼:
            sys.getdefaultencoding()

3 如何設置.py文件的編碼格式:
    (1)#coding=<encoding>
    
    (2)<encoding>根據編輯器不同而不同
            sublime 編輯器默認是utf-8
            win7自帶的操作系統:asciii /gbk--要讀取中文,要gbk
            可以另存為:utf-8
4 win7文件名是中文或者文件夾是中文
    (1)都是gbk編碼
    (2)讀寫文件時,必須open(.....encode('gbk'),'r')
5 win7文件上的內容包含中文
    (1)和4的不一樣
    (2)文件的內容要根據編碼的格式(記事本可能另存為)
    (3)建議編碼成utf-8,sublime打開不需要轉換
6 爬蟲結果的存儲
    (1)現在的網頁基本都是UTF-8編碼(HTML5默認編碼)
    (2)經過BeautifulSoup處理后的HTML元素內容 類型為NavigableString
    (3)可以直接print 由第3點可推斷出 NavigableString底層類型為unicode
    (4)經過.replace()方法后可轉換為unicode類型

7 不提倡
    (1)不使用sys.setdefaultencoding(‘utf-8’)解決編碼問題 
8 其他
    (1)字符串中間處理過程全部轉化為unicode處理 只在數據的入口和出口作相應的.decode()和.encode()處理

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM