2016-03-04 123 views
1

假設我有以下HTML表情符實體:'😄'將HTML實體轉換爲Python Emoji

注意實際上並沒有4和4之間的空格;它只是有那麼它不會顯示爲一個笑臉

通過表情符號的Python的形式是:U「\ U0001f604」

如何轉換所有的HTML表情符實體的Python的形式?


事情我至今嘗試過:

  • 編碼成UTF-8
  • UNESCAPE使用HTML解析器,然後將文本轉換
  • 使用正則表達式(無法得到的東西,爲所有的HTML表情符號實體工作 - 並不像將& #x與\ U000交換一樣簡單,因爲這隻適用於某些實體)
+0

可能重複:http://stackoverflow.com/questions/2087370/decode-html-entities-in-python-string –

+0

我同意這是一個重複。原來這個問題的解決方案並不適用於我(我在發佈之前查看了它),因爲Python 2.7.10的HTMLParser好像是buggy – GangstaGraham

回答

3

HTMLParser.unescape做到了這一點:

In [3]: HTMLParser.HTMLParser().unescape('😄') 
Out[3]: u'\U0001f604' 
+0

由於某種原因我沒有得到該輸出 – GangstaGraham

+0

>>> import HTMLParser >>> HTMLParser.HTMLParser()。unescape('😄') >>>'😄' – GangstaGraham

+0

你使用的是什麼版本的Python? –