首頁  >  文章  >  後端開發  >  詳解Python字符編碼轉換方法

詳解Python字符編碼轉換方法

高洛峰
高洛峰原創
2017-03-17 16:53:411677瀏覽

python 有str object 和unicode object 兩種字串, 都可以存放字元的位元組編碼,但是他們是不同的type,這一點很重要,也是為什麼會有encode 和decode。

encode 和decode在pyhton 中的意義可表示為

 encode

unicode ------------- ------------> str

unicode <---------------------------------- str

 decode

幾個常用法:

str_string.decode('codec') 是把str_string轉換為unicode_string, codec是來源str_string的編碼方式

unicode_string.encode('codec') 是把unicode_string 轉換為str_string,codec是目標str_string的編碼方式

##str_string.decode('fcodec是目標str_string的編碼方式

##str_string.decode('fcodec是目標str_string的編碼方式

##str_string.decode('fcodec是目標str_string的編碼方式

##str_string.decode('fcodec ').encode('to_codec') 可實現不同編碼的str_string之間的轉換

#例如:

>>> t='長城'

## >>> t


'\xb3\xa4\xb3\xc7'

###>>> t.decode('gb2312').encode('utf-8 ')######'\xe9\x95\xbf\xe5\x9f\x8e'######str_string.encode('codec') 是先呼叫系統的預設codec去把str_string轉換成unicode_string ,然後用encode的參數codec去轉換成最終的str_string. 相當於str_string.decode('sys_codec').encode('codec')。 ######unicode_string.decode('codec') 基本上沒有意義,unicode 在python裡只用一種unicode編碼,UTF16或UTF32(編譯python時就已經確定),沒有編碼轉換的需要。 ######附註:預設codec在site-packages下的sitecustomize.py檔案中指定,例如######import sys######sys.setdefaultencoding('utf-8')# ###########

以上是詳解Python字符編碼轉換方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn