perl中的pack与unpack
这个pack, unpack在 “perl语言编程” 有介绍
看起来很复杂
#把一个字符串转为十六进制格式
my $source = 'abcd';
unpack('H*', $source);
#说明, 这个'H'是说明转化为十六进制, 后面的*是任意长度,也就是说, 它转化后多少就多少
#如果单纯写unpack('H', $source), 只显示转化后的十六进制的第一位字符 #比如你要把一个十六进制转为ASCII, 可以这样:
# 十六進位的字串
$hex = "61626364"; # 转ASCII
$bin = pack('H*', $hex);
print "$bin\n"; #这个pack与unpack除了能转化进制, 也能提取数据, 比如, 有如下字符串:
my $data = '1234567890aABCDE,FG';
#我们要提标1234567890与ABCDE FG, 可以这样:
my($one, $two, $three) = unpack('A10xA5xa2', $data)
#这里的一个字符,就用一个A表示。
有多少个字符, 就在A后加一个数字,比如'ABC', 是三个字符, 就表示:A3
#比如上面的1234567890有十个字符, 就表示A10
而那个小写a, 我们不要, 就用x表示, 这个x表示跳过, 在pack中代表着null
#当然, 如果你要提取所有字节, 可以在后面加*, 比如A*
转自: https://blog.gtwang.org/perl/perl-pack-unpack-tutorial/
perl中的pack与unpack的更多相关文章
- 浅谈PHP中pack、unpack的详细用法
转自:https://segmentfault.com/a/1190000008305573 PHP中有两个函数pack和unpack,很多PHPer在实际项目中从来没有使用过,甚至也不知道这两个方法 ...
- python struct中的pack unpack
python struct中的pack unpack pytyon tuple元组 print struct.unpack("!ihb", buffer) 结果为7 //pyth ...
- php pack、unpack、ord 函数使用方法
string pack ( string $format [, mixed $args [, mixed $... ]] ) Pack given arguments into a binary st ...
- PHP pack和unpack函数详解
pack 压缩资料到位字符串之中. 语法: string pack(string format, mixed [args]...); 返回值: 字符串 函数种类: 资料处理 内容说明 本函数用来将资料 ...
- [PHP][位转换积累]之pack和unpack
一.前面的话 PHP的pack和unpack提供了为一系列数据打包(pack)和解包(unpack)成2进制流的功能,这个功能在面向字节的字符串处理和套接字的编程环境中尤为适用. 在了解这两个函数之前 ...
- pack、unpack自制二进制“数据库”
引言 pack.unpack函数,如果没有接触过socket,这个可能会比较陌生,这两个函数在socket交互的作用是组包,将数据装进一个二进制字符串,和对二进制字符串中的数据进行解包,这个里面有好多 ...
- Python学习——struct模块的pack、unpack示例
he struct module includes functions for converting between strings of bytes and native Python data t ...
- python函数参数的pack与unpack
python函数参数的pack与unpack 上周在使用django做开发的时候用到了mixin(关于mixin我还要写一个博客专门讨论一下,现在请参见这里),其中又涉及到了一个关于函数参数打包(pa ...
- Pytho, struct处理二进制(pack和unpack)
[转]Python使用struct处理二进制(pack和unpack用法) Leave a reply 转载自:http://www.cnblogs.com/gala/archive/2011/09/ ...
随机推荐
- linux ll命令参数的详解
用法:ls [选项]... [文件]... 列出 FILE 的信息(默认为当前目录). 如果不指定-cftuvSUX 或--sort 选项,则根据字母大小排序. 长选项必须使用的参数对于短选项时也是必 ...
- kubernetes port nodePort targetPort 理解
port The port that the service is exposed on the service's cluster ip (virsual ip). Port is the serv ...
- namenode无法启动
查看日志错误信息关键语句: There appears to be a gap in the edit log. We expected txid 44353, but got txid 原因: n ...
- 编写简单的爬虫从流行的Scrapy 框架讲起
到目前为止,我们已经完成了向站点添加搜索和过滤的功能,并且我们已经可以向站点添加一些分类和产品信息.下面我们将考虑当尝试删除实体信息时会发生什么事情. 首先,向站点添加一个名为Test的新分类,然后再 ...
- Weex-语法笔记 一
p.p1 { margin: 0.0px 0.0px 2.0px 0.0px; font: 14.0px "PingFang SC Semibold"; color: #45454 ...
- 基于jQuery弹性展开收缩菜单插件gooey.js
首先 引入css <link rel="stylesheet" href="css/bootstrap.min.css"> <link rel ...
- 第四天 内置函数2 随机码 装饰器 迭代器、生成器 递归 冒泡算法 JSON
关于函数的return li = [11,22,33,44] def f1(arg): arg.append(55) li = f1(li) print(li) 因为li = f1(li) 实际赋值的 ...
- 关于并行计算的Scan操作
simple and common parallel algorithm building block is the all-prefix-sums operation. In this chapte ...
- SQL 范式(转载)
装载于"http://www.cnblogs.com/KissKnife/ 理论性的东西,往往容易把人人都看得懂的东西写成连鬼都看不懂,近似于主任医生开的药方.从前学范式的时候,把书中得概念 ...
- 淘淘商城_day03_课堂笔记
今日大纲 实现商品的编辑 实现商品的规格参数功能 搭建前台系统 实现首页商品类目的显示 商品的编辑 数据的编辑核心是:数据回显. 编辑按钮事件 判断选中的行数 弹出window 加载编辑页面,在页面加 ...