PHP | 使用pack()函数将十六进制字符串转换为字符串
给定十六进制字符串,我们必须将其转换为ASCII字符字符串。
要将十六进制字符串转换为ASCII字符字符串,我们可以使用pack()格式为“H*”的函数,该函数表示源字符串为十六进制格式。
语法:
pack("H*", hex_string);例子:
Input: "48656c6c6f20776f726c64"
Output: "Hello world"
Input: "4142432031323320402324252e2058595a"
Output: "ABC 123 @#$%. XYZ"PHP代码:
<?php
$str = "Hello world";
$hex_str = bin2hex($str);
$str1 = pack("H*", $hex_str);
//打印两个字符串
echo ("str = " . $str . "\n");
echo ("hex_str = " . $hex_str . "\n");
echo ("str1 = " . $str1 . "\n");
$str = "ABC 123 @#$%. XYZ";
$hex_str = bin2hex($str);
$str1 = pack("H*", $hex_str);
//打印两个字符串
echo ("str = " . $str . "\n");
echo ("hex_str = " . $hex_str . "\n");
echo ("str1 = " . $str1 . "\n");
?>输出结果
str = Hello world hex_str = 48656c6c6f20776f726c64 str1 = Hello world str = ABC 123 @#$%. XYZ hex_str = 4142432031323320402324252e2058595a str1 = ABC 123 @#$%. XYZ