python的unicode_python的unicode及其编码解码
Unicode支持多種編碼格式,這為程序員帶來了額外的負擔,每當你向一個文件寫入字符串的時候,你必須定義一個編碼用于把對應的Unicode內容轉換成你定義的格式,Python通過Unicode字符串的encode()函數解決了這個問題,該函數接受字符串中的字符為參數,輸出你指定的編碼格式的內容。
所以,每次我們寫一個Unicode字符串到磁盤上我們都要用指定的編碼器給他“編碼“一下,相應地,當我們從這個文件讀取數據時,我們必須”解碼”該文件,使之成為Unicode字符串對象。
簡單的例子:
下面的代碼創建了一個Unicode字符串,用UTF-8編碼器將它編碼,然后寫入到一個文件中去,接著把數據從文件中讀回來,解碼成Unicode字符串對象,最后,打印出Unicode字符串,用以確認程序正確地運行。
在Linux中編寫,在VIM中輸入如下代碼,保存為uniFile.py #
/home/xiaopeng/python/code/uniFile.py
'''
An example of reading and writing Unicode strings:Writes
a Unicode string to a file in utf-8 and reads it back in
'''
CODEC = 'utf-8' 編碼方式
FILE = 'unicode.txt' 要存的文件名
hello_out = u"Hello world\n" 創建了一個Unicode格式的字符串
bytes_out = hello_out.encode(CODEC) 用UTF-8編碼
f = open(FILE,'w')
f.write(bytes_out) 寫入指定文件中
f.close()
f = open(FILE,'r')
bytes_in = f.read() 讀取
f.close()
hello_in = bytes_in.decode(CODEC) 解碼
print hello_in 打印
在終端中輸入:python uniFile.py
結果打印出 Hello world
然后我們在python目錄下會發現多了一個名為unicode.txt的文件,用cat命令查看一下,發現里面的內容和打印的結果一樣.
把Unicode應用到實際中注意一下四點:
1 程序中出現字符串時一定要加一個前綴u
2 不要用str()函數,用Unicode()代替
3 不要用過時的string模塊。如果傳給它非ASCII碼,它會把一切搞砸。
4 不到必須時不要在你的程序里編解碼Unicode字符,只在你要寫入文件或者數據庫或者網絡時,才調用encode()函數和decode()函數。
總結
以上是生活随笔為你收集整理的python的unicode_python的unicode及其编码解码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python换成中文版_在python中
- 下一篇: jmeter 取json值_干货丨实战经