Python 编码踩坑小记

#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'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值