Мой код заставляет получать некоторый контент с сайта UserVoice. Как вы, возможно, знаете, UserVoice - дерьмовая программа, которая не может правильно обрабатывать данные; действительно, чтобы уменьшить объем текста на странице поиска, они вырезали текст, скажем, до 300 символов, а затем добавляли "..." в конце. Дело в том, что они не заботятся об обрезке посередине многобайтового символа , что приводит к частичному «байту» utf-8: например. для символа и
я получил \ xc3
вместо \ xc3 \ xa8s
.
Конечно, когда я добавляю этот ужасный суп к json.loads
, он терпит неудачу с UnicodeDecodeError
. Итак, мой вопрос прост: как я могу попросить json.loads
игнорировать эти плохие байты , как я бы сделал, используя .decode ('utf-8', 'ignore ')
если бы у меня был доступ к внутренним компонентам функции?
Спасибо.