作者Reylod (Reylod)
看板Python
标题Re: [问题] xml 编码问题
时间Tue Aug 7 22:54:53 2012
这是HTML escape sequence
使用HTMLParser来解码
from HTMLParser import HTMLParser
hp = HTMLParser()
s = hp.unescape('Hélène')
※ 引述《sandwichC (没回应=挂站)》之铭言:
: 我想 parse 一个 xml 档,该档的编码方式未知
: 该档中有这样的文字:
: Hélène
: 它代表的是:Helene
: 其中第一个e上面有右上到左下的斜线,第二个e上面是左上到右下的斜线
: 也就是说,é 和 è 分别代表两个特别的字元
: 用以下命令得知我的 terminal 输出是 utf8
: $ echo $LANG
: en_US.UTF-8
: 我在 Python 试过下面的方式但都印不出正确的字元
: > n = 'Hélène'
: > print n.decode('iso-8859-1')
: Hélène
: > print n.decode('iso-8859-1').encode('utf8')
: Hélène
: 请问,读入这个字串後,该怎麽在萤幕上印出正确的字元呢?
: 谢谢
: ----
: UPDATE:
: 我发现把 é 换成 \xe9, è 换成 \xe8後,可正确输出
: > n = 'H\xe9l\xe8ne'
: > print n.decode('iso-8859-1').encode('utf8')
: Helene
: 第一个和第二个 e 的上面有正确显示斜线
: 这意思是我要自己 prase string 把 &#x???; 代换成 \x?? 吗
: 感觉应该有更好的解法吧…?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 123.205.239.47
1F:推 sandwichC:Thanks! It is helpful! 08/07 23:29