close
第七章、向專家一樣處理資料
- 文字字串
- Unicode為每個字元提供一個獨一無二的符號,無論平台、程式、語言是什麼
- 最原始的ASCII只使用7位元,但只包含一些基本的字母與符號。
- 延伸至今還有許多種格式,但就算如此還是不夠,尤其是使用到非歐語系的語言。
- Unicode是目前仍在使用的國際標準,定義全世界所有語言的字元,加上數學與其他領域的符號
- Python 3 Unicode字元
- \u 後面加上四個十六進位數字,代表Unicode的256個基礎多語言plane內的字元
- \U 後面加上阿個時溜進為字元,來定義較高plane的字元需要更多位元,最左邊的字元必須是0
- Python的unicodedata有一些函式可以做雙向轉換:
- lookup()接收一個不分大小寫的名稱,回傳一個Unicode字元
- name()接收一個Unicode字元,回傳一個大寫名稱
- 以UTF-8編碼與解碼
- 編碼
- encode(),可以將字串編碼成byte,引數為編碼名稱
- ---------------------------------------------------------------------------
- encode(),可以將字串編碼成byte,引數為編碼名稱
- 編碼
- 'ascii' 標準的七位元ASCII
- 'utf-8' 八位元,可變長度編碼(經常使用)
- 'latin-1' 也稱為 ISO 8859-1
- 'cp-1252' 一般的 Windows 編碼
- 'unicode-escape' Python Unicode常值格式
---------------------------------------------------------------------------
可以將任何東西編碼成UTF-8
-
- 解碼
- 將byte字解碼成Unicode字串。當從外部取得資料時,它會被解碼成byte字串,而棘手的地方就是要知道它是使用哪一種編碼,才得以反推回去取得Unicode字串
- 解碼
※解碼後編回utf-8
※使用ascii編碼會出現例外,因為byte值0xc3在ASCII中是非法的,而其餘編碼則顯示錯誤
- 格式
- 以%來使用舊方式
舊的字串格式化格式是 string % data 。在字串裡面有插值序列。
%s | 字串 |
%d | 十進位整數 |
%x | 十六進位整數 |
%o | 八進位整數 |
%f | 十進位浮點數 |
%e | 指數浮點數 |
%g | 十進位或指數浮點數 |
%% | 字面 % |
下面為一些範例:
※整數與浮點數
※整數與常值%
※一些字串與整數插值的混和
接下來我們再做更多的變化:
- 使用{}與format的新格式化方式
仍然支援舊的格式化方式,但如果你用的是Python 3 建議你使用新的方式格式化
以下為範例:
- 未
- 完
全站熱搜
留言列表