Thread Ungewöhnliches Verhalten von chr() und encode / decode
(4 answers)
Opened by mcfaq at 2011-07-19 18:43
Also, Schritt für Schritt:
2011-07-19T16:43:10 mcfaq Du erzeugst also ein U+00A4 CURRENCY SIGN (¤) Quote Und erzeugst daraus Bytes. Du musst also nachschauen, was die verschiedenen Zeichenkodierungen aus dem U+00A4 CURRENCY SIGN (¤) machen. Hast du aber in dem Ausschnitt aus der Wikipediatabelle nicht, sondern da hast du geschaut, wobei der Byte-Wert 0xA4 raus kommt. Schaun wir mal, was dabei heraus kommt: Code: (dl
)
1 #!/usr/bin/perl Diese Bytes bzw. Bytefolge bei UTF-8 "sieht" also dein Terminal. Da ISO-8859-15 das CURRENCY SYMBOL nicht übersetzen kann (es kann nur das EURO SIGN übersetzen), wird bei ISO-8859-15 ein Fragezeichen (3F) draus. Wenn das Terminal auf ISO-8859-15 eingestellt ist, wird das Byte A4 als Euro-Zeichen interpretiert, das 3F ist weiterhin ein Fragezeichen. Ich hoffe, das erklärt für dich das Verhalten, das du siehst. Wenn nicht, schreib einfach, was dir noch unklar ist. Editiert von moritz: fix markup Editiert von moritz: fix markup, jetzt aber wirklich Last edited: 2011-07-19 19:51:32 +0200 (CEST) |