如何在Python中将字符串'Nelson Vel\xc3\xa1zquez'转为'Nelson Velazquez'?
解决西班牙语字符编码显示异常问题
你的字符串'Nelson Vel\xc3\xa1zquez'是UTF-8编码的字节被错误以Latin-1(ISO-8859-1)解码导致的乱码:\xc3\xa1原本是字符á的UTF-8字节序列,被当成Latin-1解码后就显示成了这两个转义字符。
修复方法很简单,先将字符串按Latin-1编码转回字节,再用UTF-8解码:
text = 'Nelson Vel\xc3\xa1zquez' fixed_text = text.encode('latin-1').decode('utf-8') print(fixed_text) # 输出结果:Nelson Velázquez
原理:Latin-1编码会把每个Unicode码点直接映射为对应的单字节,转成字节后就还原了原始的UTF-8字节流,再用UTF-8解码就能正确解析出西班牙语字符á。
内容的提问来源于stack exchange,提问作者Ryan
相关产品推荐
相关产品推荐

