• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

perl中的pack与unpack

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

这个pack, unpack在 “perl语言编程” 有介绍
看起来很复杂

 

 1 #把一个字符串转为十六进制格式
 2 my $source = 'abcd';
 3 unpack('H*', $source);
 4 #说明, 这个'H'是说明转化为十六进制, 后面的*是任意长度,也就是说, 它转化后多少就多少
 5 #如果单纯写unpack('H', $source), 只显示转化后的十六进制的第一位字符
 6  
 7 #比如你要把一个十六进制转为ASCII, 可以这样:
 8 # 十六進位的字串
 9 $hex = "61626364";
10  
11 # 转ASCII
12 $bin = pack('H*', $hex);
13 print "$bin\n";
14  
15  
16 #这个pack与unpack除了能转化进制, 也能提取数据, 比如, 有如下字符串:
17 my $data = '1234567890aABCDE,FG';
18 #我们要提标1234567890与ABCDE FG, 可以这样:
19 my($one, $two, $three) = unpack('A10xA5xa2', $data)
20 #这里的一个字符,就用一个A表示。
21 有多少个字符, 就在A后加一个数字,比如'ABC', 是三个字符, 就表示:A3 
22 #比如上面的1234567890有十个字符, 就表示A10
23 而那个小写a, 我们不要, 就用x表示, 这个x表示跳过, 在pack中代表着null
24 #当然, 如果你要提取所有字节, 可以在后面加*, 比如A*

转自: https://blog.gtwang.org/perl/perl-pack-unpack-tutorial/

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Perl读写文件&字符串操作发布时间:2022-07-22
下一篇:
perl-p-i-w-e发布时间:2022-07-22
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap