繁体   English   中英

如何将十六进制转换为 int32?

[英]How to convert hex to int32?

我正在尝试将十六进制代码从 010 Editor 转换为 int。 010 编辑

如何通过转换字符串 16100000 得到 4118? 我尝试了 hexdec 函数,但它给出了错误的结果。

echo hexdec('1610'); //gives 5648

echo hexdec('16100000'); //gives 370147328

以及如何将 4118 转换回 16100000?

您提到的 010 编辑器中的十六进制到 int32 转换几乎没有字节序( https://en.wikipedia.org/wiki/Endianness )。

因此,您必须以相反的顺序组装原始的十六进制字符串。

echo hexdec('00001016');  // Would result in the 4118 you were expecting.

要取回它,您可以使用 base_convert,从基数 10 到基数 16 并重新排列字符串:

echo base_convert('00004118', 10, 16);

这会给你“1016”

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM