首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >HTML编码/解码:Perl/Python输出不匹配?

HTML编码/解码:Perl/Python输出不匹配?
EN

Stack Overflow用户
提问于 2018-08-09 06:54:37
回答 1查看 0关注 0票数 0

输入文本:abc™Blue TestMix,200 x20 rxns,2ml(2x1ml)

使用此联机工具验证编码和解码的输出:http://www.web2generators.com/html-based-tools/online-html-entities-encoder-and-decoder该网站返回的产出如下:

代码语言:txt
复制
Decode Text 
ABC™ Blue<sup>®</sup> Testmix, 200 x 20 µl rxns, 2 ml (2 x 1 ml)

Encode Text
ABC&trade; Blue&lt;sup&gt;&reg;&lt;/sup&gt; Testmix, 200 x 20 &micro;l rxns, 2 ml (2 x 1 ml) 

我编写了Perl和Python代码,试图查看是否可以获得相同的输出:

Python代码

代码语言:txt
复制
from HTMLParser import HTMLParser
try:
    from html import escape  # python 3.x
except ImportError:
    from cgi import escape  # python 2.x


def htmldecode(s):
        h = HTMLParser()
        return h.unescape(s)

text = "ABC™ Blue<sup>®</sup> Testmix, 200 x 20 µl rxns, 2 ml (2 x 1 ml)"
print (htmldecode(text))
print (escape(htmldecode(text)))

Python输出的编码文本:

代码语言:txt
复制
ABC™ Blue&lt;sup&gt;®&lt;/sup&gt; Testmix, 200 x 20 µl rxns, 2 ml (2 x 1 ml)

也尝试过Perl代码

代码语言:txt
复制
use HTML::Entities;

my $input = "ABC™ Blue<sup>®</sup> Testmix, 200 x 20 µl rxns, 2 ml (2 x 1 ml)";
print encode_entities($input), "\n"

但是,输出是

代码语言:txt
复制
ABC&acirc;&#132;&cent; Blue&lt;sup&gt;&Acirc;&reg;&lt;/sup&gt; Testmix, 200 x 20 &Acirc;&micro;l rxns, 2 ml (2 x 1 ml)

返回的输出不匹配,我做错了什么?http://www.web2generators.com/html-based-tools/online-html-entities-encoder-and-decoder

EN

Stack Overflow用户

发布于 2018-08-09 16:35:24

加上

代码语言:txt
复制
use utf8;

脚本开始附近的某个地方(最好的地方就在后面)use strict;use warnings;)

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100008775

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档