簡體   English   中英

Python字符串編碼方法

[英]Python String encode method

在Python中,unicode字符串中有一個encode方法,用於從unicode到byte字符串進行編碼。 在字符串中有一個decode方法來執行相反的操作。

但我很困惑字符串中的encode方法是什么?

它對非文本編解碼器很有用。

>>> 'Hello, world!'.encode('hex')
'48656c6c6f2c20776f726c6421'
>>> 'Hello, world!'.encode('base64')
'SGVsbG8sIHdvcmxkIQ==\n'
>>> 'Hello, world!'.encode('zlib')
'x\x9c\xf3H\xcd\xc9\xc9\xd7Q(\xcf/\xcaIQ\x04\x00 ^\x04\x8a'

它首先使用默認編碼解碼為Unicode,然后編碼回字節字符串。

>>> import sys
>>> sys.getdefaultencoding()
'ascii'
>>> sys.setdefaultencoding('latin-1')
>>> '\xc4'.encode('utf-8')
'\xc3\x84'

對於Ä, '\\xc4'為Latin-1,對於Ä, '\\xc3\\x84'為UTF-8。

你為什么不想自己閱讀精美的Python文檔?

http://docs.python.org/release/2.5.2/lib/string-methods.html

msgstr“”“編碼([encoding [,errors]])返回字符串的編碼版本。默認編碼是當前的默認字符串編碼。可以給出錯誤來設置不同的錯誤處理方案。錯誤的默認值是'strict' ,意味着編碼錯誤會引發UnicodeError。其他可能的值是'ignore','replace','xmlcharrefreplace','backslashreplace'以及通過codecs.register_error注冊的任何其他名稱,請參閱第4.8.1節。有關可能的編碼列表,請參閱第4.8.3節。版本2.0中的新增內容。版本2.3中已更改:添加了對“xmlcharrefreplace”和“backslashreplace”以及其他錯誤處理方案的支持。“”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM