Perl 中将字符串转换为十六进制305


在 Perl 中,您可以使用几个函数将字符串转换为十六进制表示形式。让我们探索不同的方法以及它们的用法:

hex()

hex() 函数将字符串解释为十进制、八进制或十六进制数字并返回其十六进制等效值。例如:```perl
$str = "123";
$hex = hex($str);
print "$hex"; # 输出:7B
```

此示例中,hex() 函数将 "123" 解释为十进制数并返回其十六进制等效值 7B。

pack()

pack() 函数根据指定的格式字符串将数据打包成二进制字符串。您可以使用 "H*" 格式说明符将字符串转换为十六进制表示形式。例如:```perl
$str = "Hello World";
$hex = pack("H*", $str);
print "$hex"; # 输出:48656c6c6f20576f726c64
```

此示例中,pack() 函数将 "Hello World" 字符串打包为十六进制表示形式并存储在 $hex 中。

unpack()

unpack() 函数执行与 pack() 相反的操作,它解包二进制字符串并根据给定的格式字符串生成数组。您可以使用 "H*" 格式说明符从十六进制字符串中提取字符串。例如:```perl
$hex = "48656c6c6f20576f726c64";
@str = unpack("H*", $hex);
print "@str"; # 输出:Hello World
```

此示例中,unpack() 函数从十六进制字符串 $hex 中解包字符串并将其存储在 @str 数组中。

binmode() 和 getc()

您可以使用 binmode() 和 getc() 函数逐字符读取二进制文件,并使用 unpack() 函数将每个字符转换为其十六进制表示形式。例如:```perl
open(FH, '

2024-12-22


上一篇:如何安装 Perl 5.34 在 CentOS 7

下一篇:perl 格式化字符串输出