python中把ISO-8859-1编码转化为UTF-8
ISO-8859-1转换 UTF-8
应⽤场景:
这⼏天在做OAuth2.0授权登录,遇到的问题。
爬取⼀些数据的时候⼀定也会遇到这样的问题。
这⾥我拿返回⽤户个⼈信息来举例:
{'openid':'oGl2QwQ07wZRyJVu0t57y1CaVlg4','nickname':'é\x98³å\x85\x89ç\x94·å\xad©','sex':1,'language':'zh_CN','city':'æ\x9c\x9dé\x98³','province': 'å\x8c\x97京','country':'ä¸\xadå\x9b½','headimgurl':'thirdwx.qlogo/mmopen/vi_32/Q0j4TwGTfTKXOSA55icqibms9Vfg1zUjWS46Al6LbMCy09iba ic2OzuJ3WnQ2ToCbUscL08Ef4qzeULjIicyw8vkHicg/132','privilege':[],'unionid':'oaga40loq9A16lzhpN_KNUnF7doM'}
我们发现nickname、city、province、country的值是ISO-8859-1的编码格式
需要注意的是:返回的数据编码格式为 ISO-8859-1 ,需要转换成 utf-8 。
我们就拿返回的ISO-8859-1值来⽰范⼀下如何转换 UTF-8编码格式。
⽰例:
代码:
url编码和utf8区别nickname ='é\x98³å\x85\x89ç\x94·å\xad©'# 姓名
city ='æ\x9c\x9dé\x98³'# 城市
province ='å\x8c\x97京'# 省份
country ='ä¸\xadå\x9b½'# 国家
str='-'# 连接字符
seq =('é\x98³å\x85\x89ç\x94·å\xad©','æ\x9c\x9dé\x98³','å\x8c\x97京','ä¸\xadå\x9b½')# 要连接的元素序列
result =str.join(seq)# .jion()拼接结果
ISO = de('ISO-8859-1')# 先编码
print(ISO.decode('utf8'))# 后解码在打印控制台
结果:
阳光男孩-朝阳-北京-中国
补充知识:
encode(编码):按照某种规则将“⽂本”转换为“字节流”,unicode转化为str
decode(解码):将“字节流”按照某种规则转换成“⽂本”,str转化为unicode
参考地址:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论