【问题标题】:PHP Convert int to HEXPHP 将 int 转换为 HEX
【发布时间】:2014-04-17 20:56:42
【问题描述】:

如何通过打包/解包(或其他短函数)获得类似的功能?

function getHEX($number) {
    switch($number) {
        case 0: $ret = "\x00\x00\x00\x00"; break;
        case 1: $ret = "\x00\x00\x00\x01"; break;
        case 2: $ret = "\x00\x00\x00\x02"; break;
        case 3: $ret = "\x00\x00\x00\x03"; break;
        // (...)

        default: $ret = "\x00\x00\x00\x00";
    }

    return $ret;
}

【问题讨论】:

标签: php hex pack


【解决方案1】:

您可以在 PHP 中使用 dechex 来做到这一点:

<?php
echo dechex(10) . "\n";
echo dechex(47);
?>

【讨论】:

  • 我试过了,但返回值必须是 4 个字节。当 $ 数字为 1 时,只给我 1 个字节
【解决方案2】:

这里有一个提示:

str_pad(dechex($number), 4, "0", STR_PAD_LEFT)

【讨论】:

    【解决方案3】:

    这个功能解决了我的问题

    pack("H*", sprintf("%08X", $number));
    

    【讨论】:

      猜你喜欢
      • 2018-07-22
      • 1970-01-01
      • 2016-03-23
      • 1970-01-01
      • 2011-06-02
      • 2015-12-09
      • 2016-04-15
      • 2019-06-04
      • 2019-06-13
      相关资源
      最近更新 更多