python 3 解码字符串状态

标签 python python-3.x

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

staße

staße

使用 python。

(编辑:将源解释为 html 实体不会导致预期的结果,而是“staé”)

背景:我正在努力使用 mws client 来处理亚马逊 mws 响应字符串你在执行 pip install mws 时得到。特别想知道,因为源字符串看起来包含 2 个特殊字符,但目标只是“ß”。

In the docs他们在谈论我不明白的 Unicode 字符限制

最佳答案

嗯,这里的问题是 ß 在 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())

关于python 3 解码字符串状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46196812/

相关文章:

python - 在 Ubuntu 上编译 cx_Freeze 时出错

python - Numpy 按多个向量分组,获取组索引

python - pip install Askbot 错误 - 命令 "python setup.py egg_info"失败,错误代码 1

python-3.x - 如何使用Beautifulsoup4检查父标签是否有名称不是 "div"的直接子标签

python - 函数参数中的裸星号?

具有多种功能的python编程

python - Python:subprocess.call错误“找不到命令”

python - 值错误 : Field 'id' expected a number but got 'super' . [04/4/2020 18:15:11] "GET/super_user HTTP/1.1"500 132224

python-3.x - 是否可以使用 Matplotlib 创建 2 边条形图

python - Python 中的 If 语句(嵌套 boolean 语句)