php iso 8859 1转utf8,Python:从ISO-8859-1/latin1转换为UTF-8

本文详细介绍了如何在Python中将ISO-8859-1(也称为Latin1)编码的字符串转换为UTF-8。通过示例解释了解码和编码过程,以及遇到Unicode异常时的解决方案。重点讨论了Python2.7中字符串和Unicode的关系,以及在不同编码间的转换方法。
摘要由CSDN通过智能技术生成

这是一个常见的问题,所以这里有一个相对彻底的说明。

对于非unicode字符串(即那些没有u前缀的字符串,如u'\xc4pple'),必须从本机编码(iso8859-1/latin1,除非modified with the enigmatic ^{}函数)解码到^{},然后编码到可以显示所需字符的字符集,在这种情况下,我建议使用^{}。

首先,这里有一个方便的实用程序函数,可以帮助说明Python2.7字符串和unicode的模式:>>> def tell_me_about(s): return (type(s), s)

普通字符串>>> v = "\xC4pple" # iso-8859-1 aka latin1 encoded string

>>> tell_me_about(v)

(, '\xc4pple')

>>> v

'\xc4pple' # representation in memory

>>> print v

?pple # map the iso-8859-1 in-memory to iso-8859-1 chars

# note that '\xc4' has no representation in iso-8859-1,

# so is printed as "?".

解码iso8859-1字符串-将普通字符串转换为unicode>>> uv = v.decode("iso-8859-1")

>>> uv

u'\xc4pple&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值