Python中如何进行HTML特殊字符与Unicode代码的转换

论坛 期权论坛 编程之家     
选择匿名的用户   2021-5-24 07:13   36   0

在处理HTML内容的时候经常会遇到 1405; 816;、<、> 这样的怪字符,一般称为HTML特殊符号,而后面加一串数值,则是网页中Unicode的表示形式。

HTML特殊符号编码对照表

通过cgi模块中的escape函数可以将常见的特殊符号转换为HTML的表现形式,但要转换回来,cgi模块并没有提供unescape这样的函数。

在网上找到一篇介绍如何进行这种反向转换的文章:Escaping HTML

另外,如果得到的HTML代码中含有 1405; 816;这样的Unicode代码,可以使用unichr函数来进行转换:

ExpandedBlockStart.gif 代码
def unescape_word(s):
words
= re.findall( " (\d+); " , s)
if words:
result
= unicode(s, " gb18030 " )
u
= unicode()
for word in map(int, words):
h, l
= word / 0x100 , word % 0x100
u
= unichr(l * 0x100 + h)
result
= result.replace( " %s; " % word, u)
result
= result.encode( " gb18030 " )
else :
result
= s
return result

转载于:https://www.cnblogs.com/ddgg/archive/2010/07/27/1786045.html

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP