Während dem Bytebereich \x01
bis \x1f
Grafiken zugeordnet waren, wurden diese Grafiken nur in einigen Kontexten verwendet. In anderen Kontexten würden diese Codepunkte als Steuerzeichen wie in ASCII interpretiert. Die Code-Punkte X'01 'bis X'1F' und X'7F 'können je nach Kontext Steuerelemente oder Grafiken sein. Bei Anzeigen ist der hexadezimale Code in einem speicherabgebildeten Videoanzeigepuffer eine Grafik. Bei Druckern wird der Grafikkontext durch eine vorhergehende Steuersequenz im Datenstrom festgelegt. Es gibt zwei solche Steuersequenzen: ESC X'5C 'und ESC X'5E' mit dem Namen Alle Zeichen drucken und jeweils ein einzelnes Zeichen drucken. In anderen Situationen werden die Codes Punkte als Kontrollen verwendet.
Pythons CP437-Decodierung basiert auf Unicode mappings on Unicode.org, die die Steuerzeicheninterpretation verwenden.
The Unicode FAQ implies, dass „Die richtigen Unicode-Zuordnungen für die speziellen grafischen Zeichen (01-1F, 7F) von CP437 und andere DOS-Typ Codepages“ bei https://www.unicode.org/Public/MAPPINGS verfügbar sein sollte, aber da unten graben dreht sich nur um die Zuordnungen nach oben mit die Steuerzeichen und eine page Verknüpfung mit mehreren IBM Websites. Das Durchforsten der Websites von IBM zeigt ftp://ftp.software.ibm.com/software/globalization/gcoc/attachments/CP00437.txt auf, was grafische Zuordnungen für \x01
- \x1f
im Hinblick auf IBMs GCGID system ergibt, aber nicht in Bezug auf Unicode.
Ich weiß nicht, ob es tatsächlich ist eine offizielle Mapping, entweder IBM oder Unicode, die für \x01
kanonische Unicode-Zuordnungen gibt - \x1f
in Bezug auf die grafische Interpretation der CP437.
Die von unicode zur Verfügung gestellte Übersetzungstabelle scheint nicht mit wikipedia übereinzustimmen: ftp://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP437.TXT – tkausl