2012-02-19 4 views
2

ような文字列を復号化する最も簡単な方法は何ですか:「バイエルンM ü nchen」 - >「バイエルン・ミュンヘン」

'Bayern München' -> 'Bayern München' 

は、私はおそらく文字列を置換する、軽量な何かを探していますがけれども十分に良いだろうより堅牢なソリューションが私をより幸せにするでしょう。私はencodedecodeメソッドが助けになると思っていたが、私は今まで運がなかった。

コンテキストについて私はウェブページから少量の情報を削っていますが、私は重い解決策を望んでいません(scrapyを見ていましたが、それは私にはあまりにも大変です)。このページはutf-8エンコーディングを報告していますが、私はそれをユーザーに印刷できるウムラウト付きの文字列にする方法はわかりません。

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 

私はこれを研究しようとしましたが、それ以上の答えは他にありませんでした。美しいスープは、例えば、これらの16進コードを処理しません。

これはエンコードでの私の最初の本当の問題です。すみませんが開かれた場合はごめんなさい、私に同行してください。

答えて

4

これは、Python 2.6以降で動作します次のようになります。

import HTMLParser  # html.parser in Python 3 
h = HTMLParser.HTMLParser() 
h.unescape('Bayern M&#xFC;nchen') 

は、技術的にこれは「内部」と文書化されていないですが、それはAPIにはかなりしばらくしていると先頭にアンダースコアをマークされていません。

見つけたhere;他のアプローチも言及されていますが、そのうちの「重さ」に気をつけなければ、BeautifulSoupがおそらく最高です。

+0

ありがとう、これは私のために働く – gav

関連する問題