PHP convert hexadecimal string to string using pack() function

Convert hexadecimal string to hex in PHP: Here, we will figure out how to change over a given hexadecimal string to the string?

Given a hexadecimal string and we need to change over it into a string of ASCII characters.

To change over a hex string to the string of ASCII characters, we can utilize pack() work with the organization “H*” it speaks to that source string is in the hexadecimal arrangement.

Syntax:

    pack("H*", hex_string);

Example:

    Input: "48656c6c6f20776f726c64"
    Output: "Hello world"

    Input: "4142432031323320402324252e2058595a"
    Output: "ABC 123 @#$%. XYZ"

PHP Code:

<?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

Leave a Comment

error: Alert: Content is protected!!