3

在我的 HTML 文件中,“Schilderung”这个词看起来很正常,而且似乎没有(编码?)问题。但是当我复制这个词时,我得到以下信息:“Schilde 梯级”,如果我想用 python 找出长度,我得到 13(而不是 12...)。

这里有什么问题,我该如何处理?

非常感谢您的帮助!

编辑:目前,我使用以下内容:output.write(text.decode("utf-8")) 这可以正确处理所有变音符号和其他特殊字符,但上述问题仍然存在。print(repr(txt)) 给出: Schilde\xc2\xadrung 我们如何解决这个问题?非常感谢!

4

2 回答 2

1

字符串前面有U+00AD SOFT HYPHEN :r

>>> "Schilde­rung".decode('utf-8')
u'Schilde\xadrung'

要删除非 ASCII 字符:

>>> s = u'Schilde\xadrung'
>>> s.encode('ascii', 'ignore').decode()
u'Schilderung'
>>> len(_)
11
于 2013-09-06T10:01:29.477 回答
0

好像"r"不是ASCII:

>>> u'Schilde­rung'
u'Schilde\xadrung'
于 2013-09-06T09:50:41.287 回答