Tom: UTF-8 Hex in PHP String

Beitrag lesen

Hello,

wie kann man in PHP ein UTF-8 Zeichen (vierstelliger Hexadezimalwert) in einem String notieren. Habe schon verschiedene Möglichkeiten ausprobiert, leider ohne Erfolg.

Zunächst mal muss sich darüber klar werden, dass PHP Bytes sieht.
Erst Browser und Screen (Device + Monitor) wandeln die vier Bytes in das entsprechende Pixelbild des Zeichens.

Willst Du also verhindern, die vir Zeichen wandeln zu lassen, müsstest Du sie aus dem Stream herausnehmen, da dieser ja gesamtheitlich als UTF-8 dargestellt wird.

Du müsstest Dir also mittels einer mb_funktion das Zeichen (aus x bytes) herauspicken in eine Variable, und diese dann Byteweise anzeigen lassen.

$zeichen = mb_substr($utf8_string, $offset, $length, 'utf-8');

$len = strlen($zeichen);   ## Die Länge des Strings als single-byte-codiertes Zeichen ermitteln;
    echo $len;

for ($i=0; $i<$len; $i++)
    {
        echo ord($zeichen[$i]),' ';
    }

So müsste es klappen...

Du hättest die Ordnungszahl jedes einzelnen Bytes eines Multibyte-Zeichens

Liebe Grüße aus Syburg bei Dortmund

Tom vom Berg

--
Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de