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