给定十六进制字符串,我们必须将其转换为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