php将十六进制转换为十进制不工作

dsl*_*ter 0 php hex decimal type-conversion

我试图将十六进制值0d0c140d2f3b转换为十进制.hexdec()和base_convert()给我的值为14345527177019

值应为13 12 20 13 47 59

   private function convert_rtc($hex_rtc) {
        $rtc = hexdec($hex_rtc);
        return $rtc;
Run Code Online (Sandbox Code Playgroud)

如果我应该使用不同的功能让我知道.谢谢

Mar*_*ker 5

将原始值0d0c140d2f3b分成两个字符的块(例如0d 0c 14 0d 2f3b),然后在每个块上使用hexdec()

PHP的str_split()函数在这里应该很有用

编辑

例如

function convert_rtc($hex_rtc) {
    $rtc = array_map(
        'hexdec',
        str_split($hex_rtc, 2)
    );
    return $rtc;
}

$hexString = '0d0c140d2f3b';

$result = convert_rtc($hexString);
var_dump($result);
Run Code Online (Sandbox Code Playgroud)