Given hexadecimal string and we have to convert it into string of ASCII characters.
给定十六进制字符串,我们必须将其转换为ASCII字符字符串。
To convert a hex string to the string of ASCII characters, we can use pack() function with the format "H*" it represents that source string is in hexadecimal format.
要将十六进制字符串转换为ASCII字符的字符串 ,我们可以使用格式为“ H *”的 pack()函数,该函数表示源字符串为十六进制格式。
Syntax:
句法:
pack("H*", hex_string);
Examples:
例子:
Input: "48656c6c6f20776f726c64"
Output: "Hello world"
Input: "4142432031323320402324252e2058595a"
Output: "ABC 123 @#$%. XYZ"
PHP code:
PHP代码:
<?php
$str = "Hello world";
$hex_str = bin2hex($str);
$str1 = pack("H*", $hex_str);
//printing both strings
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);
//printing both strings
echo ("str = " . $str . "\n");
echo ("hex_str = " . $hex_str . "\n");
echo ("str1 = " . $str1 . "\n");
?>
Output
输出量
str = Hello world
hex_str = 48656c6c6f20776f726c64
str1 = Hello world
str = ABC 123 @#$%. XYZ
hex_str = 4142432031323320402324252e2058595a
str1 = ABC 123 @#$%. XYZ
翻译自: https://www.includehelp.com/php/convert-hexadecimal-string-to-string-using-pack-function.aspx