这个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的更多相关文章

  1. 浅谈PHP中pack、unpack的详细用法

    转自:https://segmentfault.com/a/1190000008305573 PHP中有两个函数pack和unpack,很多PHPer在实际项目中从来没有使用过,甚至也不知道这两个方法 ...

  2. python struct中的pack unpack

    python struct中的pack unpack pytyon tuple元组 print struct.unpack("!ihb", buffer)  结果为7 //pyth ...

  3. php pack、unpack、ord 函数使用方法

    string pack ( string $format [, mixed $args [, mixed $... ]] ) Pack given arguments into a binary st ...

  4. PHP pack和unpack函数详解

    pack 压缩资料到位字符串之中. 语法: string pack(string format, mixed [args]...); 返回值: 字符串 函数种类: 资料处理 内容说明 本函数用来将资料 ...

  5. [PHP][位转换积累]之pack和unpack

    一.前面的话 PHP的pack和unpack提供了为一系列数据打包(pack)和解包(unpack)成2进制流的功能,这个功能在面向字节的字符串处理和套接字的编程环境中尤为适用. 在了解这两个函数之前 ...

  6. pack、unpack自制二进制“数据库”

    引言 pack.unpack函数,如果没有接触过socket,这个可能会比较陌生,这两个函数在socket交互的作用是组包,将数据装进一个二进制字符串,和对二进制字符串中的数据进行解包,这个里面有好多 ...

  7. Python学习——struct模块的pack、unpack示例

    he struct module includes functions for converting between strings of bytes and native Python data t ...

  8. python函数参数的pack与unpack

    python函数参数的pack与unpack 上周在使用django做开发的时候用到了mixin(关于mixin我还要写一个博客专门讨论一下,现在请参见这里),其中又涉及到了一个关于函数参数打包(pa ...

  9. Pytho, struct处理二进制(pack和unpack)

    [转]Python使用struct处理二进制(pack和unpack用法) Leave a reply 转载自:http://www.cnblogs.com/gala/archive/2011/09/ ...

随机推荐

  1. Java 并发 线程的优先级

    Java 并发 线程的优先级 @author ixenos 低优先级线程的执行时刻 1.在任意时刻,当有多个线程处于可运行状态时,运行系统总是挑选一个优先级最高的线程执行,只有当线程停止.退出或者由于 ...

  2. validate验证

    导入需要的js          自动验证 <script src="${ctx }/static/assets/js/jquery-2.1.4.min.js">< ...

  3. [Q]关于无法进入主界面问题解答

    打图精灵适用于AutoCAD2007或更高版,低于2007版无法使用. 若在安装打图精灵前AutoCAD已经打开,则需要将AutoCAD重新打开,然后使用“QPlot”命令. 若重新打开仍然调不出界面 ...

  4. 一个快速、高效的Levenshtein算法实现——代码实现

    在网上看到一篇博客讲解Levenshtein的计算,大部分内容都挺好的,只是在一些细节上不够好,看了很长时间才明白.我对其中的算法描述做了一个简单的修改.原文的链接是:一个快速.高效的Levensht ...

  5. how to make a git repo un-git?

    If you have a git repo and now you want to make it a plain filesystem tree .. (removing the git trac ...

  6. iOS项目导航栏返回按钮

    最近iOS项目中要求导航栏的返回按钮只保留那个箭头,去掉后边的文字,在网上查了一些资料,最简单且没有副作用的方法就是 [[UIBarButtonItem appearance] setBackButt ...

  7. 两个队列实现一个栈,剑指offer P59

    public class StackByQueue { private LinkedList<String> queue1; private LinkedList<String> ...

  8. FileZilla客户端源码解析

    FileZilla客户端源码解析 FTP是TCP/IP协议组的协议,有指令通路和数据通路两条通道.一般来说,FTP标准命令TCP端口号是21,Port方式数据传输端口是20. FileZilla作为p ...

  9. windows线程池四种情形(win核心读书笔记)

    windows线程池四种情形(win核心读书笔记) Mircosoft从Windows2000引入线程池API,并在Vista后对线程池重新构架,引入新的线程池API.以下所有线程池函数均适用于Vis ...

  10. Weex-语法笔记 一

    p.p1 { margin: 0.0px 0.0px 2.0px 0.0px; font: 14.0px "PingFang SC Semibold"; color: #45454 ...