我是perl的新手,如果我使用以下代码:
use strict;
use warnings;
use WWW::YouTube::Info::Simple;
my $id = 'aPLnXzjWMZE';
my $yt = WWW::YouTube::Info::Simple->new($id);
my $info = $yt->get_info();
print $info->{title};
结果我成为:Tornyosi + m%C5%B1sor
如何解码(或使用什么模块)可读字符串Tornyosiműsor?
谢谢。
答案 0 :(得分:3)
URI::Encode或URI::Escape将处理%
个编码字符。 +
你需要自己做的事情:
#!/usr/bin/perl
use warnings;
use strict;
use URI::Encode;
my $encoder = 'URI::Encode'->new;
( my $s = 'Tornyosi+m%C5%B1sor' ) =~ s/\+/ /g;
$s = $encoder->decode($s);
print $s, "\n";
或
#!/usr/bin/perl
use warnings;
use strict;
use URI::Escape;
( my $s = 'Tornyosi+m%C5%B1sor' ) =~ s/\+/ /g;
my $s = uri_unescape($s);
print $s, "\n";
如果要使用编码输出到io图层,则可能需要解码字符串。请参阅Encode。