Oneliner's url encode (urlencode) and url decode (urldecode) in Perl


准备关键词测试时经常需要进行UrlEncode和UrlDecode,以下是2个常用的单行Perl脚本(正则表达式):输入为日志或关键词列表

Urlencode:对 \n 不转码

perl -p -e 's/([^\w\-\.\@])/$1 eq "\n" ? "\n":sprintf("%%%2.2x",ord($1))/eg' keywords.list

UrlDecode:
perl -p -e 's/%(..)/pack("c", hex($1))/eg' query.log

作者:车东 发表于:2004-03-08 15:03 最后更新于:2010-06-21 12:06
版权声明:可以转载,转载时请务必以超链接形式标明文章 的原始出处和作者信息及本版权声明

Comments

使用iconv做编码转换:
iconv -f -t input_file
-f: from encoding
-t: to encoding
比如:
iconv -f utf-8 -t gb2312 wget.output

用来做UTF-8输出文件的编码转换挺方便的。这样在Linux上也能直接查看UTF-8的输出了。

在perl代码中需要将字符串转换为编码后的URL可以这么做:
use URI::URL;

my $str = "http://www.google.com/?a=a b c&b=c d e";

my $url = URI::URL->new( $str );

print $url;

发表一个评论

(如果你此前从未在此 Blog 上发表过评论,则你的评论必须在 Blog 主人验证后才能显示,请你耐心等候。)

相关文章

关于

此页面包含了发表于2004年03月08日 下午03时47分的 Blog 上的单篇日记。

此 Blog 的前一篇日记是 歌词:《魔力大道》-环球影视篇尾曲

此 Blog 的后一篇日记是 周末的两个摄影影展

更多信息可在 主索引 页和 归档 页看到。

Creative Commons License
此 Blog 中的日记遵循以下授权 Creative Commons(创作共用)授权.
Powered by
Movable Type 3.36