如何解码包含以下内容的字符串:
staße
到
staße
使用python。
(编辑:将源解释为html实体不会产生预期的结果,但“staÃe”)
背景:我正在努力使用您在pip install mws
时获得的mws client处理amazon mws响应字符串。特别想知道因为sourcetring看起来像包含2个特殊字符,但目标只是'ß'。
In the docs他们正在谈论我不理解的Unicode字符限制
答案 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())