29 lines
806 B
PHP
29 lines
806 B
PHP
<?php
|
|
|
|
namespace NoccyLabs\React\WebSocket\Debug;
|
|
|
|
trait HexDumpTrait
|
|
{
|
|
|
|
private function hexdump($data): void
|
|
{
|
|
printf("_____ *%4d\n", strlen($data));
|
|
$rows = str_split($data, 16);
|
|
$offs = 0;
|
|
foreach ($rows as $row) {
|
|
$h = []; $a = [];
|
|
for ($n = 0; $n < 16; $n++) {
|
|
if ($n < strlen($row)) {
|
|
$h[] = sprintf("%02x%s", ord($row[$n]), ($n==7)?" ":" ");
|
|
$a[] = sprintf("%s%s", (ctype_print($row[$n])?$row[$n]:"."), ($n==7)?" ":"");
|
|
} else {
|
|
$h[] = (($n==7)?" ":" ");
|
|
$a[] = (($n==7)?" ":" ");
|
|
}
|
|
}
|
|
printf("%04x | %s | %s\n", 16 * $offs++, join("", $h), join("", $a));
|
|
}
|
|
}
|
|
|
|
}
|