我有一个字符串,看起来像这样 "7a"
,我想把它转换成十六进制数字 7A。我尝试使用 pack 和 unpack,但那只给我每个字符的十六进制表示。
这可以尝试 -
function strToHex($string)
{
$hex='';
for ($i=0; $i < strlen($string); $i++)
{
$hex .= dechex(ord($string[$i]));
}
return $hex;
}
dechex()
返回的数字进行字符串连接,结果的$hex
值将是您传入的相同字符串。此外,由于strlen($string)
在循环测试语句中,它将在每次循环迭代时被评估。最好在循环外部分配$nLen=strlen($string)
,然后使用$i<$nLen
作为终止测试。这(注释)也没有提到使用单个字符变量名称的弊端... - FKEinternet
intval
。 - Pavel Vlasov