Home  >  Article  >  Backend Development  >  PHP prints out the hexadecimal value of a string_PHP tutorial

PHP prints out the hexadecimal value of a string_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:44:141595browse

The following function is a hexadecimal example of PHP printing out a string. The core function here is chr to obtain the binary and then convert it into a hexadecimal number.

The code is as follows
 代码如下 复制代码

/*
php 打印出字符串的16进制数据
*/
function hex_dump($data, $newline="n")
{
static $from = '';
static $to = '';

static $width = 16; # number of bytes per line

static $pad = '.'; # padding for non-visible characters

if ($from==='')
{
for ($i=0; $i<=0xFF; $i++)
{
$from .= chr($i);
$to .= ($i >= 0x20 && $i <= 0x7E) ? chr($i) : $pad;
}
}

$hex = str_split(bin2hex($data), $width*2);
$chars = str_split(strtr($data, $from, $to), $width);

$offset = 0;
foreach ($hex as $i => $line)
  {
    echo sprintf('%6X',$offset).' : '.implode(' ', str_split($line,2)) . ' [' . $chars[$i] . ']' . $newline;
    $offset += $width;
  }
}
 
$info="this is a testx00x99hex_dump";
print_r(hex_dump($info));
/*
输出结果:
 
0 : 74 68 69 73 20 69 73 20 61 20 74 65 73 74 00 99 [this is a test..]
 
10 : 68 65 78 5f 64 75 6d 70 [hex_dump]
*/
?>


 

Copy code
/*
PHP prints out the hexadecimal data of the string
*/
function hex_dump($data, $newline="n")
{
static $from = '';
static $to = '';

static $width = 16; # number of bytes per line

static $pad = '.'; # padding for non-visible characters

if ($from==='')
{
for ($i=0; $i<=0xFF; $i++)
{
$from .= chr($i);
         $to .= ($i >= 0x20 && $i <= 0x7E) ? chr($i) : $pad;
}  
}

$hex = str_split(bin2hex($data), $width*2);
$chars = str_split(strtr($data, $from, $to), $width);

$offset = 0;
foreach ($hex as $i => $line)
{
echo sprintf('%6X',$offset).' : '.implode(' ', str_split($line,2)) . ' [' . $chars[$i] . ']' . $newline;
$offset += $width;
}
}

$info="this is a testx00x99hex_dump";
print_r(hex_dump($info));
/*
Output:

0 : 74 68 69 73 20 69 73 20 61 20 74 65 73 74 00 99 [this is a test..]

10 : 68 65 78 5f 64 75 6d 70 [hex_dump]
*/
?>


http://www.bkjia.com/PHPjc/633110.htmlwww.bkjia.com
true
http: //www.bkjia.com/PHPjc/633110.html
TechArticleThe following function is a hexadecimal example of PHP printing out a string. The core function here is chr acquisition. The binary is then converted into a hexadecimal number. The code is as follows Copy the code ?...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn