Python从字符串中删除编码字符

2024-05-18 14:22:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个json,例如:

item = {"name": '\x84\xa2 Target', ...}

在一个以以下结尾的函数中:

^{pr2}$

运行函数会导致此错误:

UnicodeDecodeError: 'utf8' codec can't decode byte 0x84 in position 6: invalid start byte

我试过了

return json.dumps(item, ensure_ascii=False).encode('utf-8')

但这也产生了同样的错误。在

下面的代码可以“工作”,但是它给出的json会混淆其他代码(不是在我这边):

return json.dumps(item, encoding="ISO-8859-1")

我想知道如何从任何字符串中删除所有“复杂”字符。在


Tags: 函数代码namejsontargetreturn错误结尾
1条回答
网友
1楼 · 发布于 2024-05-18 14:22:23

这是愚蠢的,但似乎有效:

"".join([c for c in json.dumps(item, ensure_ascii=False) if c in string.printable])

^{pr2}$

它回来了

'{"name": " Target"}'

相关问题 更多 >

    热门问题