请看下面的详细讲解。
将字符串转换成16进制的方法
在 PHP 中,将字符串变成 16 进制格式的方法非常简单。一般是将字符串中的 ASCII 字符一个一个地转换成 16 进制编码。这里,介绍两种将字符串转换成 16 进制的方法。
方法一:使用函数bin2hex()
函数 bin2hex()
能够将字符串转换成 16 进制编码。
示例一:
$str = "Hello World!";
$hex = bin2hex($str);
echo $hex; // 48656c6c6f20576f726c6421
以上代码输出结果为 "48656c6c6f20576f726c6421",可以发现,原本的字符串 "Hello World!" 成功地被转换成了16进制编码。
方法二:使用unpack()
函数
另一种将字符串转换为 16 进制的方法是使用函数 unpack()
,通过指定模板,将字符串转换成不同的数据类型。
示例二:
$str = "Hello World!";
$length = strlen($str);
$hex = "";
for ($i = 0; $i < $length; ++$i) {
$hex .= sprintf("%02x", unpack("C", $str[$i])[1]);
}
echo $hex; // 48656c6c6f20576f726c6421
以上代码的输出结果也是 "48656c6c6f20576f726c6421",实现的方法是将字符串拆成单个的字符,然后通过 sprintf()
函数将每个字符转为 16 进制编码。最后将转换后的 16 进制编码拼接在一起,形成完整的 16 进制编码字符串。
总结
以上就是将字符串转换成 16 进制的两种方法,分别使用了 PHP 中的 bin2hex()
和 unpack()
函数,可以根据需要灵活选择使用不同的函数实现相同的目的。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:php将字符串转换成16进制的方法 - Python技术站