<?php
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;
}
}
$str = "\xC2\xA1Hola!"; // 7 bytes (6 characters in UTF-8)
echo $str."\n";
hex_dump($str);
echo"\n";
hex_dump(mb_convert_encoding($str, 'UTF-32', 'UTF-8'));
echo"\n";
hex_dump(iconv('UTF-8', 'UTF-32', $str));
- Output for 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
- ¡Hola!
0 : c2 a1 48 6f 6c 61 21 [..Hola!]
0 : 00 00 00 a1 00 00 00 48 00 00 00 6f 00 00 00 6c [.......H...o...l]
10 : 00 00 00 61 00 00 00 21 [...a...!]
Warning: iconv(): Wrong encoding, conversion from "UTF-8" to "UTF-32" is not allowed in /in/IHiGP on line 40
- Output for 8.0.14 - 8.0.30, 8.1.0 - 8.1.28
- ¡Hola!
0 : c2 a1 48 6f 6c 61 21 [..Hola!]
0 : 00 00 00 a1 00 00 00 48 00 00 00 6f 00 00 00 6c [.......H...o...l]
10 : 00 00 00 61 00 00 00 21 [...a...!]
Warning: iconv(): Wrong encoding, conversion from "UTF-8" to "UTF-32" is not allowed in /in/IHiGP on line 40
0 : []
- Output for 7.3.32 - 7.3.33, 7.4.33, 8.0.13
- ¡Hola!
0 : c2 a1 48 6f 6c 61 21 [..Hola!]
0 : 00 00 00 a1 00 00 00 48 00 00 00 6f 00 00 00 6c [.......H...o...l]
10 : 00 00 00 61 00 00 00 21 [...a...!]
Fatal error: Uncaught Error: Call to undefined function iconv() in /in/IHiGP:40
Stack trace:
#0 {main}
thrown in /in/IHiGP on line 40
Process exited with code 255. - Output for 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29, 5.5.0 - 5.5.38, 5.6.0 - 5.6.40, 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.31, 7.4.0 - 7.4.25, 8.0.0 - 8.0.12
- ¡Hola!
0 : c2 a1 48 6f 6c 61 21 [..Hola!]
0 : 00 00 00 a1 00 00 00 48 00 00 00 6f 00 00 00 6c [.......H...o...l]
10 : 00 00 00 61 00 00 00 21 [...a...!]
0 : ff fe 00 00 a1 00 00 00 48 00 00 00 6f 00 00 00 [........H...o...]
10 : 6c 00 00 00 61 00 00 00 21 00 00 00 [l...a...!...]
- Output for 7.4.26 - 7.4.32
- ¡Hola!
0 : c2 a1 48 6f 6c 61 21 [..Hola!]
0 : 00 00 00 a1 00 00 00 48 00 00 00 6f 00 00 00 6c [.......H...o...l]
10 : 00 00 00 61 00 00 00 21 [...a...!]
Notice: iconv(): Wrong charset, conversion from `UTF-8' to `UTF-32' is not allowed in /in/IHiGP on line 40
0 : []
- Output for 5.4.0 - 5.4.45
- ¡Hola!
0 : c2 a1 48 6f 6c 61 21 [..Hola!]
0 : 00 00 00 a1 00 00 00 48 00 00 00 6f 00 00 00 6c [.......H...o...l]
10 : 00 00 00 61 00 00 00 21 [...a...!]
Fatal error: Call to undefined function iconv() in /in/IHiGP on line 40
Process exited with code 255. - Output for 4.4.5 - 4.4.9
- ¡Hola!
Fatal error: Call to undefined function: str_split() in /in/IHiGP on line 21
Process exited with code 255. - Output for 4.3.2 - 4.3.11, 4.4.0 - 4.4.4
- ¡Hola!
Fatal error: Call to undefined function: str_split() in /in/IHiGP on line 21
Process exited with code 255. - Output for 4.3.0 - 4.3.1
- ¡Hola!
Fatal error: Call to undefined function: str_split() in /in/IHiGP on line 21
preferences:
280.77 ms | 401 KiB | 465 Q