python 3解码字符串staße

时间:2017-09-13 11:51:03

标签: python python-3.x

如何解码包含以下内容的字符串:

staße

staße

使用python。

(编辑:将源解释为html实体不会产生预期的结果,但“staÃe”)

背景:我正在努力使用您在pip install mws时获得的mws client处理amazon mws响应字符串。特别想知道因为sourcetring看起来像包含2个特殊字符,但目标只是'ß'。

In the docs他们正在谈论我不理解的Unicode字符限制

1 个答案:

答案 0 :(得分:3)

嗯,这里的问题是ß在UTF-8中表示为两个字节的序列:C3 9F十六进制或195 159十进制。但是,当您将实体解码为HTML时,它们最终将为Unicode 代码点 195和159,195为Ã的代码点。你必须做一些伏都教,比如将str转换为bytes,然后将bytes解码为(Unicode)str。比较结果:

print('\xc3\x9f')

print(bytes('\xc3\x9f', 'Latin-1').decode())