amolip: UTF-8 Zeichen umwandeln

Beitrag lesen

Hallo Don P,

Leider ist die Länge in Bytes von UTF-8-codierten Zeichen variabel, d.h. man kann sich nicht darauf verlassen, das auf "u8" immer genau 4 Bytes für zwei Hexzahlen folgen, es könnten auch mal 6 Bytes oder mehr sein. Das kommt darauf an, ob nur normaler deutscher Text vorkommt, oder auch mal chinesische oder sonstwie exotische Zeichen.

Die UTF-8 Kodierung umfasst 1x1 Byte bis 4x1 Byte, also 1-4 Bytes.

u -> Kodepunkt = x75 (117dec) -> UTF-8-Kodierung = 75 -> 1 Byte
ü -> Kodepunkt = xFC (252dec) -> UTF-8-Kodierung = C3BC -> 2 Byte
€ -> Kodepunkt = x20AC (8364dec) -> UTF-8-Kodierung = E282AC -> 3 Byte (EURO SIGN)
𐎠 -> Kodepunkt = x103A0 (66464dec) -> UTF-8-Kodierung = F0908EA0 -> 4 Byte (OLD PERSIAN SIGN A)

Gruß Uwe