【问题标题】: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,我怀疑是后者。

    【讨论】:

    • @izupdewd 你想破解什么协议? :P
    猜你喜欢
    • 2014-10-30
    • 2014-01-07
    • 2012-04-08
    • 2012-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-26
    • 2022-01-26
    相关资源
    最近更新 更多