0

PHPを使用して10進数を16進数に変換するには?

12月:68-55-230-06-04-89

hex value私はこのようにしたい

Hex :44-37-E0-06-04-59 ただし、これの代わりにその表示44-37-E0-6-4-59

echo $test = dechex(68)."-".dechex(55)."-".dechex(230)."-".dechex(06)."-".dechex(04)."-".dechex(89);

それは私に出力を与えます: 44-37-E0-6-4-59// 06-04 なし

次のような出力が必要です44-37-E0-06-04-59

4

4 に答える 4

2

sprintfを試すことができます

sprintf('%02X-%02X-%02X-%02X-%02X-%02X', 68, 55, 230, 6, 4, 89);
于 2013-03-21T10:25:36.890 に答える
1

以下のよう44-37-E0-06-04-59に追加するだけ0で、

sprintf('%02X-%02X-%02X-%02X-%02X-%02X', 68, 55, 230, 06, 04, 89);
于 2013-03-21T10:32:59.893 に答える
1
$dec= "68-55-230-06-04-89";

$arr= split("-",$dec);

foreach($arr as $key => $num)

{

    $arr[$key]=sprintf('%02X',dechex ($num));

}


//required results Array ( [0] => 44 [1] => 37 [2] => e6 [3] => 6 [04] => 4 [05] => 59 )

print_r($arr);
于 2013-03-21T10:43:09.757 に答える
0

ダッシュ間に最大 FF があると仮定すると、そのようなものが機能するはずです。

$foo = explode("-", $dec);
foreach ($foo as $dec_value) {
    echo ($dec_value > 16) ? dechex($dec_value) : "0".dechex($dec_value);
}
于 2013-03-21T10:30:56.653 に答える