以32位固定长度二进制打印整数

时间:2011-01-14 06:46:32

标签: perl string

我使用Perl将用户提供的整数转换为二进制形式。例如,如果用户输入为“3735928559”(十六进制表示为0xdeadbeef),则程序应输出分别在\xde\xad\xbe\xef中编码的四个字符。而不是“deadbeef”。

我不想使用外部模块,那我该怎么办呢?谢谢。

2 个答案:

答案 0 :(得分:7)

如果我理解正确(你想要四个字节0​​xde,0xad,0xbe和0xef),请尝试以下方法:

print pack("N", $input);

答案 1 :(得分:4)

您的问题不是很明确,但我认为您正在寻找pack

my $input = '3735928559';
print pack('N', $input);