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

Python 编码踩坑小记

2015-11-25 21:05 561 查看
#coding:utf-8
print repr(u"我爱你")
print repr(u'\u6211\u7231\u4f60')
print repr(u"我爱你".encode('utf-8'))
print '-------------------------------------'
# 内容utf-8实际unicode使用下面两种都可以编码成功
print repr(u'\xe6\x88\x91\xe7\x88\xb1\xe4\xbd\xa0'.encode('ISO-8859-1'))
print repr(u'\xe6\x88\x91\xe7\x88\xb1\xe4\xbd\xa0'.encode('raw_unicode_escape'))
print '-------------------------------------'
# 对utf-8进行下面两种解码,都得到内容utf-8实际unicode的错误串
print repr('\xe6\x88\x91\xe7\x88\xb1\xe4\xbd\xa0'.decode('ISO-8859-1'))
print repr('\xe6\x88\x91\xe7\x88\xb1\xe4\xbd\xa0'.decode('raw_unicode_escape'))
print '-------------------------------------'
# 正常的unicode执行encode('raw_unicode_escape')会得到错误串,不可以执行encode('ISO-8859-1')
print repr(u'我爱你'.encode('ISO-8859-1'))# 报错
print repr(u'我爱你'.encode('raw_unicode_escape'))
print '-------------------------------------'
内容unicode实际utf-8使用decode('raw_unicode_escape')可以解码成功
print repr('\u6211\u7231\u4f60'.decode('ISO-8859-1'))
print repr('\u6211\u7231\u4f60'.decode('raw_unicode_escape'))


输出

u'\u6211\u7231\u4f60'
u'\u6211\u7231\u4f60'
'\xe6\x88\x91\xe7\x88\xb1\xe4\xbd\xa0'
-------------------------------------
'\xe6\x88\x91\xe7\x88\xb1\xe4\xbd\xa0'
'\xe6\x88\x91\xe7\x88\xb1\xe4\xbd\xa0'
-------------------------------------
u'\xe6\x88\x91\xe7\x88\xb1\xe4\xbd\xa0'
u'\xe6\x88\x91\xe7\x88\xb1\xe4\xbd\xa0'
-------------------------------------
'\\u6211\\u7231\\u4f60'
-------------------------------------
u'\\u6211\\u7231\\u4f60'
u'\u6211\u7231\u4f60'
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: