首页 > 编程语言 >无涯教程-Perl - unpack函数

无涯教程-Perl - unpack函数

时间:2023-08-18 14:35:04浏览次数:38  
标签:unpack 无涯 整数 Perl 字符串 ASCII print Array bits

描述

此函数使用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)

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

参考链接

https://www.learnfk.com/perl/perl-unpack.html

标签:unpack,无涯,整数,Perl,字符串,ASCII,print,Array,bits
From: https://blog.51cto.com/u_14033984/7135777

相关文章

  • 无涯教程-Perl - umask函数
    描述此函数为当前进程设置umask(创建文件和目录时应用的默认掩码)。EXPR的值必须是八进制数。如果省略EXPR,则只需返回先前的值。语法以下是此函数的简单语法-umaskEXPRumask返回值此函数返回先前的umask值。例以下是显示其基本用法的示例代码-#!/usr/bin/perl-......
  • 无涯教程-Perl - ucfirst函数
    描述该函数返回的EXPR值仅将第一个字符大写。如果省略EXPR,则使用$_。语法以下是此函数的简单语法-ucfirstEXPRucfirst返回值此函数返回第一个字符为大写的String。例以下是显示其基本用法的示例代码-#!/usr/bin/perl-w$string='thecatsatonthemat.';$u_......
  • 无涯教程-Perl - tr函数
    描述这不是功能。这是音译运算符;它将SEARCHLIST中所有出现的字符替换为REPLACEMENTLIST中的字符。语法以下是此函数的简单语法-tr/SEARCHLIST/REPLACEMENTLIST/返回值此函数返回替换或删除的字符数。例以下是显示其基本用法的示例代码-#!/usr/bin/perl-w$string='......
  • 无涯教程-Perl - tied函数
    描述此函数返回对绑定实体VARIABLE下的对象的引用。要了解打结检查打结功能。语法以下是此函数的简单语法-tiedVARIABLE返回值如果VARIABLE未绑定到包,则此函数返回undef,否则返回对对象的引用。参考链接https://www.learnfk.com/perl/perl-tied.html......
  • 无涯教程-Perl - syswrite函数
    描述此函数尝试将SCALAR中的LENGTH个字节写入与FILEHANDLE相关的文件。如果指定了OFFSET,则从提供的SCALAR中的OFFSET字节中读取信息。该函数使用C/操作系统的write()函数,该函数绕过普通缓冲。语法以下是此函数的简单语法-syswriteFILEHANDLE,SCALAR,LENGTH,OFFSETs......
  • 无涯教程-Perl - sysopen函数
    描述该函数等效于基础C和操作系统调用open()。打开由FILENAME指定的文件,并将其与FILEHANDLE关联。MODE参数指定应如何打开文件。MODE的值取决于系统,但是某些值是历史设置的。值0、1和2分别表示只读,只写和读/写。支持的值在Fcntl模块中可用,并在下表中进行了汇总。请注意,F......
  • 无涯教程-Perl - syscall函数
    描述该函数调用指定为列表第一个元素的系统调用,并将其余元素作为参数传递给系统调用。如果给定的参数为数字,则该参数作为int传递。如果不是,则传递指向字符串值的指针。语法以下是此函数的简单语法-syscallEXPR,LIST返回值如果系统调用失败,则此函数返回-1;如果系统调......
  • 无涯教程-Perl - symlink函数
    描述此函数在OLDFILE和NEWFILE之间创建符号链接。在不支持符号链接的系统上,会导致致命错误。语法以下是此函数的简单语法-symlink(OLDFILE,NEWFILE)返回值如果失败,此函数返回0,如果成功,则返回1。例以下是显示其基本用法的示例代码,首先在/tmp目录中创建一个文件......
  • 无涯教程-Perl - sub函数
    描述此函数定义一个新的子例程。上面显示的参数遵循以下规则-NAME是子例程的名称。可以在有或没有原型规范的情况下预先声明命名的子例程(没有关联的代码块)。匿名子例程必须具有定义。PROTO定义了函数的原型,调用该函数以验证提供的参数时将使用该原型。ATTRS为......
  • 无涯教程-Perl - study函数
    描述此功能需要花费额外的时间来研究EXPR,以改善在EXPR上执行的正则表达式的性能。如果省略EXPR,则使用$_。实际的速度增益可能非常小,具体取决于您希望搜索字符串的次数。您一次只能学习一种表达式或标量。语法以下是此函数的简单语法-studyEXPRstudy返回值此函数不......