Perl 中的 unpack函数

首页 / Perl入门教程 / Perl 中的 unpack函数

描述

此函数使用TEMPLATE中指定的格式解压缩二进制字符串STRING。基本上颠倒打包的操作,根据提供的格式返回打包值的列表。

You can also prefix any format field with a %<number> to indicate that you want a 16-bit checksum of the value of STRING, instead of the value.

语法

以下是此函数的简单语法-

unpack TEMPLATE, STRING

返回值

此函数返回未打包值的列表。

下表列出了在TEMPLATE中使用的值。

Sr.No. Character & 描述
1

a

用空字符填充的ASCII字符串

2

A

ASCII字符串用空格填充

3

b

位串,从低到低

4

B

比特串,最高优先

5

c

有符号字符(范围通常为-128至127)

链接:https://www.learnfk.comhttps://www.learnfk.com/perl/perl-unpack.html

来源:LearnFk无涯教程网

6

C

无符号字符(通常为8位)

7

d

双精度浮点数

8

f

单精度浮点数

9

h

十六进制字符串,最低位在前

10

H

十六进制字符串,高位在前

11

i

有符号整数

12

无符号整数

13

l

有符号长整数

14

L

无符号长整数

15

n

网络顺序中的短整数

16

N

网络顺序中的长整数

17

p

指向字符串的指针

18

s

有符号的短整数

19

S

无符号的短整数

20

u

转换为uuencode格式

21

v

VAX(小尾数)顺序的短整数

22

V

VAX顺序中的长整数

23

x

空字节

无涯教程网

24

X

表示"返回一个字节"

25

@

用空值填充(ASCII 0)

以下是显示其基本用法的示例代码-

#!/usr/bin/perl -w

$bits=pack("c", 65);
# prints A, which is ASCII 65.
print "bits are $bits\n";
$bits=pack( "x" );
# $bits is now a null chracter.
print "bits are $bits\n";
$bits=pack( "sai", 255, "T", 30 );
# creates a seven charcter string on most computers'
print "bits are $bits\n";

@array=unpack( "sai", "$bits" );

#Array now contains three elements: 255, A and 47.
print "Array $array[0]\n";
print "Array $array[1]\n";
print "Array $array[2]\n";

执行上述代码后,将产生以下输出-

bits are A
bits are 
bits are ?T-
Array 255
Array T
Array 30

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

快速上手Kotlin开发 -〔张涛〕

算法面试通关40讲 -〔覃超〕

从0开始学大数据 -〔李智慧〕

Spring Boot与Kubernetes云原生微服务实践 -〔杨波〕

ZooKeeper实战与源码剖析 -〔么敬国〕

Spring编程常见错误50例 -〔傅健〕

朱涛 · Kotlin编程第一课 -〔朱涛〕

Python实战 · 从0到1搭建直播视频平台 -〔Barry〕

AI大模型系统实战 -〔Tyler〕

好记忆不如烂笔头。留下您的足迹吧 :)