perl – 如何以反向字节顺序打印变量?

perl – 如何以反向字节顺序打印变量?,第1张

概述我正在尝试将变量$num转换为其反向字节顺序并将其打印出来: my $num = 0x5514ddb7;my $s = pack('I!',$num);print "$s\n"; 它打印为一些不可打印的字符,在十六进制编辑器中看起来是正确的,但是如何才能在控制台上读取它?我已经尝试过了: print sprintf("%#x\n",$s); 这使得perl抱怨非数字参数,所以我认为pack返回 我正在尝试将变量$num转换为其反向字节顺序并将其打印出来:

my $num = 0x5514ddb7;my $s = pack('I!',$num);print "$s\n";

它打印为一些不可打印的字符,在十六进制编辑器中看起来是正确的,但是如何才能在控制台上读取它?我已经尝试过了:

print sprintf("%#x\n",$s);

这使得perl抱怨非数字参数,所以我认为pack返回一个字符串.任何想法如何在控制台上打印出0xb7dd1455,基于$num?

解决方法 你需要使用unpack:

my $num = 0x5514ddb7;my $s = pack('I<!',$num);my $x = unpack('I>!',$s);printf("%#x\n",$x);

来自Michael Carman的注释:请注意,字节顺序修饰符(<和>)需要Perl v5.10.对于旧版本的Perl,您必须使用N和V templates.

总结

以上是内存溢出为你收集整理的perl – 如何以反向字节顺序打印变量?全部内容,希望文章能够帮你解决perl – 如何以反向字节顺序打印变量?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1266530.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存