2017-09-02 69 views
1

我試圖解碼和ASCII結合其與字符串結合如何解碼ASCII用繩子在python

例如

g&#108bo&#115w&#111&#114t&#104 

,但我沒有得到確切的輸出

'g&#108bo&#115w&#111&#114t&#104'.decode("ascii") 

輸出

u'g&#108bo&#115w&#111&#114t&#104' 

如果u刪除此字符&#只有用整數試試我得到這個

>>> chr(108) 
'l' 
>>> chr(115) 
's' 
>>> chr(111) 
'o' 
>>> chr(114) 
'r' 
>>> chr(104) 
'h' 

預期輸出

glbosworth 

我如何可以解碼此爲「G &#108bo &#115瓦特&#111 & #114噸&#104" 到期望的輸出

+2

看起來有點像怪異的隨機編碼的HTML實體'html.unescape(「G&#108bo&#115瓦特&#111&#114噸&字符串#104')''''glbosworth''' –

回答

0
  • 。 6.x您可以使用html.unescape

    import html 
    print(html.unescape('g&#108bo&#115w&#111&#114t&#104')) 
    
  • Python的2.x中您可以使用HTMLParser

    from HTMLParser import HTMLParser 
    h = HTMLParser() 
    print(h.unescape('g&#108bo&#115w&#111&#114t&#104')) 
    
+0

蟒蛇2.x不工作,我得到這個結果g&#108bo&#115w&#111&#114t&#104 – Mounarajan

0

你試圖解碼html escaped string。您可以使用html.unescape(s)功能,這樣做(在python3):

import html 
print(html.unescape('g&#108bo&#115w&#111&#114t&#104')) 

輸出:

'glbosworth' 

this看看這樣回答關於python3更多信息

+0

python 2.7 – Mounarajan

+0

我試過這個從HTMLParser import HTMLParser h = HTMLParser() print(h.unescape('g&#108bo&#115w&#111&#114t&#104 ')),但獲得不同的結果「g&#108bo&#115w&#111&#114t&#104 」 – Mounarajan

+0

您可以嘗試bs4 – ShmulikA