取得したHTMLファイルやXHTMLファイルの文字列を取り出した場合、それが文字参照や実体参照で書かれていると、表示上の文字と異なってしまう。そこで、文字列に文字参照や実体参照が含まれていた場合に、それを通常の文字に戻す処理が必要になる。 文字参照には16進数で書かれたものと10進数で書かれたものがある。 ♪ (10進数) ♪ (16進数) これらの数値を読み取れば、あとはunichr関数で数値から対応するUnicode文字へ変換することができる。 print unichr(29031) 実体参照には、よく知られている<(htmlentitydefs.name2codepointという実体参照名とUnicodeの対応表があるため、これを使うことで簡単に変換できる。例えば、ハートマークを表示する♥は以下のようにするだけでいい。 print unichr(htmlentitydefs.name