您的位置:首页 > 编程语言 > Python开发

python encode decode unicode区别及用法

2013-12-20 11:29 169 查看
decode解码

encode转码

unicode是一种编码,具体可以百度搜

#coding:UTF-8

u=u'汉'
printrepr(u)#u'\u6c49'
s=u.encode('UTF-8')
printrepr(s)#'\xe6\xb1\x89'
u2=s.decode('UTF-8')
printrepr(u2)#u'\u6c49'

#对unicode进行解码是错误的
#s2=u.decode('UTF-8')
#同样,对str进行编码也是错误的
#u2=s.encode('UTF-8')


s=u.encode('UTF-8')是把u转码成utf-8

u2=s.decode('UTF-8')是把u解码成utf-8
如果是windows下编码一般是gbk,所以解码时候要用u.decode('gbk'),如下


>>>u='格式'
>>>u.decode('gbk')
u'\u683c\u5f0f'
>>>u.decode('utf-8')

Traceback(mostrecentcalllast):
File"<pyshell#111>",line1,in<module>
u.decode('utf-8')
File"C:\Python27\lib\encodings\utf_8.py",line16,indecode
returncodecs.utf_8_decode(input,errors,True)
UnicodeDecodeError:'utf8'codeccan'tdecodebyte0xb8inposition0:invalidstartbyte
>>>






                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: