【问题标题】:php binary to decimalphp二进制转十进制
【发布时间】:2018-03-11 20:31:31
【问题描述】:
我正在连接一个 api,它返回我需要用 php 转换为十进制格式的二进制字符串数据。数据分为四部分,如“66 50 235 133”,应该转换为大约 50.00 的某个值(不确定十进制值应该是多少,但应该接近 50)。
所以,我需要将二进制字符串“66 50 235 133”转换为50左右的十进制值。
我已经阅读了 php.net 上的打包和解包功能页面,但我不确定这是否是要使用的正确函数以及要使用的格式(有符号/无符号、字节序等)。感谢您提供的任何帮助或任何帮助为我指明正确的方向!
【问题讨论】:
标签:
php
binary
decode
encode
【解决方案1】:
可能是:
$input = '66 50 235 133';
$value = unpack('g', implode('', array_map('chr', explode(' ', $input))));
// outputs -2.2117755600046E-35
或者:
$input = '66 50 235 133';
$value = unpack('G', implode('', array_map('chr', explode(' ', $input))));
// outputs 44.729999542236
取决于Endianness。
如果您认为这个数字接近 50.00,我怀疑是后者。