2013-04-22 52 views
1

我有兩個兩個字符串,我想將它們比較在一起。python中的iso-8859-1和utf8

  1. "Hỗ trợ ngôn ngữ"我認爲這是ISO-8859-1編碼
  2. u'H\u1ed7 tr\u1ee3 ng\xf4n ng\u1eef'統一。

2個字符串具有相同的內容。我想比較一下。 如何將第一個字符串轉換爲與第二個字符串相同的編碼。

+0

你使用的是python 3還是2.x – wim 2013-04-22 12:11:07

+0

我正在使用python 2.7 – hoangvu68 2013-04-22 12:12:33

回答

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。根據Google翻譯,ISO-8859-1或Latin-1甚至無法編碼這些特定的代碼點(越南語爲「語言支持」)。

+0

非常感謝你:) – hoangvu68 2013-04-22 12:19:53