将原始字符串(具有转义字符)转换为 unicode/utf8 字符串

问题描述 投票:0回答:1

在Python 3中,如何将ASCII原始字符串(包括转义字符)转换为正确的unicode字符串?

举个例子:

a = "ä"                         # note the umlaut
b = bytearray( a, "utf8" )      # yields: bytearray(b'\xc3\xa4')
s = r'\xc3\xa4'                 # note it's a raw string

在示例中,您可以看到我的源字符串

s
如何从 unicode 字符串
a
派生,并由
b
通知。 目标是找到一个函数
F
,使得
a == F(s)
。 感谢您的帮助!

我尝试了我能想到的所有编码和解码以及编解码器的组合。 请特别注意,以下结果会产生

False
:

a == s.encode('latin-1').decode('unicode-escape')
python python-3.x unicode-string
1个回答
1
投票

你们离得太近了!

s.encode('latin-1').decode('unicode-escape').encode('latin-1').decode('utf-8')
© www.soinside.com 2019 - 2024. All rights reserved.