在Python中,unicode字符串中有一个encode
方法用于从unicode编码为字节字符串。在字符串中有一个decode
方法来做相反的处理。Python字符串编码方法
但我很困惑什么encode
方法在字符串中?
在Python中,unicode字符串中有一个encode
方法用于从unicode编码为字节字符串。在字符串中有一个decode
方法来做相反的处理。Python字符串编码方法
但我很困惑什么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的a和'\xc3\x84'
是UTF-8为一个。
为什么你不想自己阅读精美的Python文档?
http://docs.python.org/release/2.5.2/lib/string-methods.html
“””编码([编码[,错误]])返回字符串的编码版本,默认的编码是当前的默认字符串编码。可给予错误设置一个不同的错误处理方案错误的默认值是'strict',这意味着编码错误会引发一个UnicodeError。其他可能的值有'ignore','replace','xmlcharrefreplace','backslashreplace'和通过codecs.register_error注册的任何其他名称,参见4.8节.1。有关可能的编码列表,请参见第4.8.3节。2.0版本中的新增功能。2.3版本中的更改:支持'xmlcharrefreplace'和'backslashreplace'以及其他错误处理方案的添加。“”“
Python的文档在解释编码和解码工作以及何时发生隐式转换方面做得很差。在这种情况下,指向文档的简单指针不够好。 – Triptych 2011-03-03 07:48:12
看看这个演示文稿'在Python中的Unicode,完全揭秘'http://farmdev.com/talks/unicode/ – rubayeet 2011-03-03 06:47:55
我见过。这并不能解释我的问题。 – amit 2011-03-03 12:42:33