本文介绍了从非ASCII字符串解码Python3中的转义Unicode的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我现在已经寻找了几个小时,以找到一种方法来完全逆转str.encode调用的结果,如下所示:
"testäch基er".encode("cp1252", "backslashreplace")
结果为
b'testxe4ch\u57faer'
现在我想用
将其转换回来b'testxe4ch\u57faer'.decode("cp1252")
我得到
'testäch\u57faer'
那么我如何取回我的基?我通过使用decode("unicode-ESCRIPE")来实现这一点(它在本例中可以使用),但这假设使用is8859-1而不是cp1252编码的字节,因此介于80和9F之间的任何字符都是错误的。
推荐答案
当我问这个问题时,我还是个新手。现在我明白了,这些后备机制只是用于处理意外错误,而不是用于保存和恢复数据。如果您确实需要一种简单可靠的方法来在ASCII中对单个Unicode字符进行编码,请查看quote
和unquote
模块中的quote
和unquote
函数。
这篇关于从非ASCII字符串解码Python3中的转义Unicode的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!