从非ASCII字符串解码Python3中的转义Unicode

Decoding escaped unicode in Python 3 from a non-ascii string(从非ASCII字符串解码Python3中的转义Unicode)

本文介绍了从非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字符进行编码,请查看quoteunquote模块中的quoteunquote函数。

这篇关于从非ASCII字符串解码Python3中的转义Unicode的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:从非ASCII字符串解码Python3中的转义Unicode

基础教程推荐