gpt4 book ai didi

python - 如何在python2中做surrogateescape

转载 作者:太空狗 更新时间:2023-10-29 21:05:48 24 4
gpt4 key购买 nike

Python3 更改了 unicode 行为以拒绝代理项对,而 python2 则没有。

有问题here

但它没有提供如何在 python2 中删除代理项对或如何进行代理项转义的解决方案。

Python3 示例:

>>> a = b'\xed\xa0\xbd\xe4\xbd\xa0\xe5\xa5\xbd'
>>> a.decode('utf-8', 'surrogateescape')
'\udced\udca0\udcbd你好'
>>> a.decode('utf-8', 'ignore')
'你好'

此处的 '\xed\xa0\xbd' 不是正确的 utf-8 字符。我想忽略它们或避开它们。

是否可以在 python2 中做同样的事情?

最佳答案

没有内置解决方案,但在 python-future 中有一个 surrogateescapes 的实现: https://github.com/PythonCharmers/python-future

添加from future.utils.surrogateescape import register_surrogateescape到进口。然后调用方法register_surrogateescape()然后你可以使用 errors='surrogateescape' encode 中的错误处理程序和 decode .

可以找到一个例子here

关于python - 如何在python2中做surrogateescape,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19649463/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com