如何在 Perl 中将十进制数转换为十六进制字符串?
如何在 Perl 中将十进制数转换为十六进制字符串?
例如,我想将 2001
转换为“0x07”和“0xD1”。
How do I convert a decimal number to a hex string in Perl?
For example, I would like to convert 2001
into "0x07" and "0xD1".
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这适用于这种情况:
但我想知道你真正想要做什么。如果您尝试获取 UTF-16,这不是您想要的方式。
如果您想弄清楚打包二进制数据的布局,那么您应该使用
unpack
。 “C4”格式适用于 4 字节整数。出于某些目的,您可以使用
printf
的矢量打印功能:This works for that case:
But I wonder what you're really trying to do. If you're trying to get UTF-16, this isn't the way you want to do that.
If you're trying to figure out the layout of packed binary data, then you should be using
unpack
. The "C4" format would work for a 4-byte integer.For some purposes, you can use
printf
's vector print feature:我不确定您想要什么格式,但转换为十六进制的一种方法是:
I'm not sure what exact format you want it in, but one way to convert to hex is: