Unicode ist nicht die Kodierung eines Dokuments sondern beschreibt nur den Vorrat aller Zeichen, die das Dokument nutzen kann, ohne konkret zu sagen, wie die Zeichen jeweils repräsentiert werden.
Unicode ist eine Verschwörung. Es geht darum, dass eine Behörde/Consortium whatever zuständig ist, Zeichen zu beschreiben und diesen zeichen einen Universellen Zahlencode zuzuweisen. Einerseits um Wildwuchs zu dämmen, einem Bedürfnis nach Interoperabilität entgegenzukommen, und nicht zuletzt, um die Alten System von dieser Aufgabe zu entlasen.
Das was diese Behörde wirklich macht ist das Codifizieren von Zeichen.
Interessant.
One Code that fits all.
Will man eines dieser Zeichen in einem real existierenden Medium abbilden, braucht es eine Kodiervorschrift. UTF-8 sagt, wie das Zeichen "sowieso" konkret in Bytes gegossen aussieht.
Alle Zeichensütze, verzeih für einmal, befassen sich nicht mehr mit einzelnen Zeichen. Genau das ist ja durch Unicode obsolet geworden. Die ehemaligen Tabellen dürfen statt dessen durch Algorythmen ersetzt werden, um von den Bytes zu einem Unicode-Punkt zu gelangen.
Aber interessant ist nun das. Du sagst 'gegossen' und irgendwo rauscht wohl noch der Bleisatz rum als Echo. ich kann mit dem Wort 'setzen' immer noch leben im Sinn von 'a set of Bytes'. Das Wort Charset gibt den Sachverhalt nicht richtig wieder. Aber an einem anderen Ende werde ich dir zeigen, dasss wen von Charcode die Rede ist, Bytes gar keine Rolle mehr spielen.
Dass zwischen Perl-interner (vielleicht proprietärer) Repräsentation und einer genormten Form zwecks Austausch mit anderen Systemen en- und decodiert werden muss steht außer Frage. Aber das ist kein Grund zwischen Zeichensatz und Zeichenkodierung nicht richtig zu unterscheiden oder den "charset"-Fehler nicht als solchen zu bezeichnen.
OK. Encoding geschieht nicht nur zwischen charsets, sondern notwendigerweise zwischen Transportlayern. Manche mögen auch Escaping borziehen, wenn vom PercentEncoding für URLs die Rede ist.
Ich möchte dir aber nahe legen, wo und wie vor allem von Charcodes die Rede ist.
alert( String.fromCharCode(4256) )
Die Zahl repräsentiert einen Unicode Punkt, kein UTF-8 und keine anderen Bytes. Charcode ist zutiefst mit Unicode-Punkten sprachlich verbandelt, heute. So, wenn von Zeichenkodierung und Zeichenkodifizierung die Rede ist, denke ich zuerst an die Tätigkeit des Unicode-Consortiums.
Wenn wir einen "charset" Fehler haben, so willst du ihn offenbar durch einen "charcode"-Fehler verbessert wissen.
Möglicherweise brauchen wir ein anderes Wort für charset. Aber charcode ist schon belegt. charbyteorder würde wohl der Sache am nächsten kommen.
Aber Definition eines Wortes ist nicht mein Anliegen
Genug für heute.
mfg Beat
><o(((°> ><o(((°>
<°)))o>< ><o(((°>o
Der Valigator leibt diese Fische