Berechne zu einem Codepoint die zugehörigen Oktetten für UTF-8

Oktetten meinen in dieser Anwendungen die entsprechenden Bytewertigkeiten, UTF-8-Kodierung als Algorithmus

Hinweis: Die Anwendung bewertet die Eingabe als dezimal wenn sie nur Ziffern enthält.

Ergebnis der Berechnung

Oktetten mit den Wertigkeiten: 226 130 172

Erläuterungen

Perl implementiert den Algorithmus für diese Berechnung über die U-Schablone in der pack()-Funktion:

# Codepoint zu Bytewertigkeiten
# berechnen für UTF-8
sub cpoint2bints{
    my $self = shift;
    my $cp = shift;
    
    # utf-8-kodiertes Zeichen erstellen
    my $utf8 = pack "U", $cp;

    # Bytesemantic einschalten
    use bytes;
    unpack "C*", $utf8;
}

Anmerkungen zur UTF-8-Kodierung

Natürlich muss jedes Programm, jede Textverarbeitung diesen Algorithmus kennen wenn es um die Speicherung und den Transport von Daten geht, das ist also nicht etwa eine Spezialaufgabe von Perl. Im Grunde genommen ist es das Uranliegen der elektronischen Datenverarbeitung die ohne Transport undenkbar wäre: Eine Einigung auf die kleinste pyhsikalische Speichereinheit -- Das Byte!

Es leuchtet jedoch sofort ein, daß ein einzelnes Byte nicht ausreicht um einen Codepoint wie 0x20AC abbzubilden, denn ein Byte speichert bekanntlich nur Zahlen von 0..255. Anderseits wären 2 Bytes (16 Bit) zu wenig und 4 Bytes (32 Bit) würden bedeuten, daß für jedes Zeichen gleich vier Bytes gebraucht würden!

Somit ist die UTF-8-Kodierung ein Algorithmus welcher den Platzbedarf für UNICODE Zeichen optimiert.


Die rein persönlichen Zwecken dienende Seite verwendet funktionsbedingt einen Session-Cookie. Datenschutzerklärung: Auf den für diese Domäne installierten Seiten werden grundsätzlich keine personenbezogenen Daten erhoben. Das Loggen der Zugriffe mit Ihrer Remote Adresse erfolgt beim Provider soweit das technisch erforderlich ist. @: nmq​rstx-18­@yahoo.de