UnicodeDecodeError:'ascii'编解码器无法解码位置2860中的字节0xe2:序数不在范围内(128)

时间:2016-06-21 18:26:34

标签: python json

我从JSON文件中得到以下记录,它给出了错误 -

  

{ “的categoryId”: “MPC-PC-优化”,   “categoryName”:“PC优化”,   “productMap”:       {“mpp-aol-computer-checkup”:“AOLComputerCheckup®”,       “mpp-assist-by-aol-free-scan”:“由AOL Free Scan协助”,       “mpp-mybenefits”:“每月福利声明”,       “MPP-perfectspeed”: “PerfectSpeed”       “mpp-system-checkup”:“ System Checkup™ ”,“mpp-system-mechanic”:“SystemMechanic®”}}

突出显示的部分导致错误。

我该如何解决?

1 个答案:

答案 0 :(得分:1)

错误来自那个™(商标符号),它不是ascii代码的一部分。 字节0xe2是二进制的11100010,超出了128的范围(二进制为01111111)。

问题是您正在尝试使用ascii进行解码,而应使用unicode进行解码(例如UTF-8)。

您可以使用try-catch-block来捕获异常,然后通过解码为UTF-8来处理它。

try:
    unicode(my_json_string, "ascii")
except UnicodeError:
    value = unicode(my_json_string, "utf-8")