php将字符串转换成16进制的方法

请看下面的详细讲解。

请看下面的详细讲解。

将字符串转换成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进制的方法

基础教程推荐