2013-12-20 32 views
0

我想將0d0c140d2f3b的十六進制值轉換爲十進制。 hexdec()和base_convert()是給我的14345527177019php將十六進制轉換爲十進制不工作

值的值應該是13 12 20 13 47 59

private function convert_rtc($hex_rtc) { 
     $rtc = hexdec($hex_rtc); 
     return $rtc; 

如果我應該使用不同的功能,讓我知道。謝謝

+4

它給你正確的價值。你顯然希望將每2個十六進制數字轉換成一個單獨的數字,而不是轉換整個事情,這是一個完全不同的問題。 – geoffspear

回答

5

分裂您原有的0d0c140d2f3b值成兩個字符塊,每個塊(例如0d0c140d2f3b),然後每個單獨塊使用hexdec()

PHP的str_split()功能應該是有用這裏

EDIT

例如

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); 
2
Try this.. 

<?php 
var_dump(hexdec("See")); 
var_dump(hexdec("ee")); 
// both print "int(238)" 

var_dump(hexdec("that")); // print "int(10)" 
var_dump(hexdec("a0")); // print "int(160)" 
?>