2013-12-20 91 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)" 
?> 
相关问题