双字节十六进制如何转换成十进制形式?
比如: 0xffffffbf;
hexdec 函数转换会当4字节处理
回复讨论(解决方案) $s = 0xffffffbf;echo $s; //4294967231$s = 'ffffffbf';echo hexdec($s);//4294967231
不知道你想做什么?
你示例的是 4 字节数据
还是这个意思? $n = 0xffffffbf;$s = pack('l', $n);echo bin2hex($s), php_eol;print_r(unpack('n*', $s));
bfffffff
array
(
[1] => 49151
[2] => 65535
)
这个值转换出来应该是 -65,php弱类型会自动当作一个长整型处理,你看下windows计算器
$n = 0xffffffbf;$s = pack('l', $n);print_r(unpack('l', $s));
array
(
[1] => -65
)