I've got methods that converts from "human reading letters" to mb_hex
Code: Select all
function hex_chars($data) {
$mb_chars = '';
$mb_hex = '';
for ($i=0; $i<mb_strlen($data, 'UTF-8'); $i++) {
$c = mb_substr($data, $i, 1, 'UTF-8');
$mb_chars .= '{'. ($c). '}';
$o = unpack('N', mb_convert_encoding($c, 'UCS-4BE', 'UTF-8'));
//$mb_hex .= '{'. hex_format($o[1]). '}';
$mb_hex .= hex_format($o[1]);
}
$chars = '';
$hex = '';
for ($i=0; $i<strlen($data); $i++) {
$c = substr($data, $i, 1);
$chars .= '{'. ($c). '}';
$hex .= '{'. hex_format(ord($c)). '}';
}
return array(
'data' => $data,
'chars' => $chars,
'hex' => $hex,
'mb_chars' => $mb_chars,
'mb_hex' => $mb_hex,
);
}
function hex_format($o) {
$h = dechex($o);
if(is_numeric($h)){
$h = sprintf("%04d", $h);
} else {
$h = sprintf("%04s", $h);
}
return $h;
}
[text]
Array
(
[data] => ŠA
[chars] => {�}{�}{A}
[hex] => {00c5}{00a0}{0041}
[mb_chars] => {Š}{A}
[mb_hex] => 01600041
)
[/text]
now I need to convert viceversa from mb_hex to "human reading letters" ŠA
Can some bode pls help me
Thank you in advance