python部分中文转码出错'utf-8' codec can't decode byte 0xe4 in position 24274的解决办法

版权声明: https://blog.csdn.net/aic1999/article/details/82708854

问题的出现

由于URL只允许一部分ASCII字符,汉字不符合标准,此时就要进行编码。

因为我也要在构造URL的过程中要使用到中文,所以我使用了parse.quote()函数进行中文转码,然而报错了:

'utf-8' codec can't decode byte 0xe4 in position 24274: invalid continuation byte

 

原因的探索

我很懵逼,因为输入“哈哈”都不会出错的,输入“士”就会出错....

后经检验,发现不是parse.quote()函数转码出错了,而是解码错了!

这篇文章说“这个错误就是‘utf-8’不能解码位置52的那个字节(0xce),也就是这个字节超出了utf-8的表示范围了”。

所以要记住:出现这个报错,绝大部分都是与编码解码有关!

解决方法

于是我将“utf-8”改为"ISO-8859-1"完美解决错误~

parse.quote讲解

使用parse.quote转码出错的可能原因

猜你喜欢

转载自blog.csdn.net/aic1999/article/details/82708854