1

我有 2 个两个字符串,我想将它们一起比较。

  1. "Hỗ trợ ngôn ngữ"我认为这是 iso-8859-1 编码
  2. u'H\u1ed7 tr\u1ee3 ng\xf4n ng\u1eef' 统一码。

2个字符串具有相同的内容。我想比较一下。如何将第一个字符串转换为与第二个字符串相同的编码。?

4

1 回答 1

6

您有 HTML 实体,只需使用该HTMLParser模块来取消转义:

>>> import HTMLParser
>>> h = HTMLParser.HTMLParser()
>>> h.unescape("Hỗ trợ ngôn ngữ")
u'H\u1ed7 tr\u1ee3 ng\xf4n ng\u1eef'
>>> print h.unescape("Hỗ trợ ngôn ngữ")
Hỗ trợ ngôn ngữ

这些 HTML 实体使用十进制数字,而不是十六进制。78951ed7十六进制等。它们编码 unicode 代码点,不使用 UTF-8 或 ISO-8859-1。ISO-8859-1 或 Latin-1 甚至无法编码这些特定的代码点(根据谷歌翻译,越南语表示“语言支持”)。

于 2013-04-22T12:15:39.130 回答