Windows-Codepages sind Zeichensätze oder Codepages (in anderen Betriebssystemen als Zeichencodierungen bezeichnet), die in Microsoft Windows aus den 1980er und 1990er Jahren verwendet werden. Windows-Codepages wurden nach und nach ersetzt, als Unicode in Windows implementiert wurde. Sie werden jedoch sowohl von Windows als auch von anderen Plattformen unterstützt.
In Windows-Systemen gibt es zwei Gruppen von Codeseiten: OEM- und ANSI-Codeseiten. Codeseiten in beiden Gruppen sind erweiterte ASCII-Codeseiten.
ANSI-Codepage [ edit ]
ANSI-Codepages (offiziell als "Windows-Codepages" [1] bezeichnet, nachdem Microsoft angenommen hatte, dass der frühere Begriff eine falsche Bezeichnung war [2]) ) werden für native Nicht-Unicode-Anwendungen (z. B. Byte-orientierte Anwendungen) verwendet, die eine grafische Benutzeroberfläche auf Windows-Systemen verwenden.
ANSI ist ein bisschen irreführend, da das Verhalten nicht genau den ANSI-Standards entspricht und andere Codepages ausgewählt werden können, zuletzt UTF-8-Unicode.
ANSI-Windows-Codepages und insbesondere die Codepage 1252 wurden so genannt, da sie angeblich auf eingereichten oder für ANSI vorgesehenen Entwürfen beruhten. ANSI und ISO haben jedoch keine dieser Codeseiten standardisiert. Stattdessen handelt es sich entweder um Supersets der Standardsets wie ISO 8859 und der verschiedenen nationalen Standards (wie Windows-1252 vs. ISO-8859-1). Dies ist eine wesentliche Änderung dieser Standards (wodurch sie in unterschiedlichem Maße wie Windows-1250 nicht kompatibel sind oder ISO-8859-2) oder ohne parallele Kodierung (wie Windows-1257 oder ISO-8859-4; ISO-8859-13 wurde viel später eingeführt.) [2] Ungefähr zwölf der Typografie- und Geschäftszeichen von CP1252 An den Codepunkten 0x80–0x9F (in ISO 8859 mit C1-Steuercodes belegt, die in Windows nicht verwendet werden können) sind in vielen anderen ANSI / Windows-Codepages dieselben Codes vorhanden. Diese Codeseiten werden von der Internet Assigned Numbers Authority (IANA) als "Windows- -Nummer " bezeichnet. [3]
OEM-Codepage [ edit ]
The ] OEM-Codepages (Original Equipment Manufacturer) werden von Win32-Konsolenanwendungen und von virtuellem DOS verwendet und können als Überbrückung von DOS und der ursprünglichen IBM PC-Architektur betrachtet werden. Eine separate Suite von Codepages wurde nicht nur aus Kompatibilitätsgründen implementiert, sondern auch, weil die Zeichensätze der VGA-Hardware (und ihrer Nachkommen) die Kodierung von Strichzeichnungszeichen vorschlagen, um mit der Codepage 437 kompatibel zu sein. Die meisten OEM-Codepages verfügen insbesondere über viele Codepunkte für Zeichen ohne Buchstaben mit der zweiten Hälfte (nicht ASCII) von CP437.
Eine typische OEM-Codepage ähnelt in der zweiten Hälfte nicht einmal annähernd einer ANSI / Windows-Codepage. Dennoch werden zwei Codepage-Seiten mit fester Breite (874 für Thai und 1258 für Vietnamesisch) und vier Multibyte-CJK-Codepages (932, 936, 949, 950) als OEM- und ANSI-Codepages verwendet. Die Code-Seite 1258 verwendet die Kombination von Diakritik, da für Vietnamesen mehr als 128 Buchstaben-Diakritische Kombinationen erforderlich sind. Dies steht im Gegensatz zu VISCII, das einige der C0-Steuercodes (d. H. ASCII-Steuercodes) ersetzt.
Geschichte [ edit ]
Ursprünglich unterschieden Computersysteme und Systemprogrammiersprachen keine Zeichen und Bytes. Dies führte später zu viel Verwirrung. Beispiele für Microsoft-Software und -Systeme vor Windows NT sind die OEM- und ANSI-Codeseiten, bei denen keine Unterscheidung getroffen wird.
Seit Ende der 1990er Jahre setzen Software und Systeme immer mehr direkte Kodierungen von Unicode ein, insbesondere UTF-8 und UTF-16; Dieser Trend wurde durch die weit verbreitete Akzeptanz von XML verbessert, die einen angemesseneren Mechanismus zum Kennzeichnen der verwendeten Kodierung bietet. [4] Neuere Microsoft-Produkte und Anwendungsprogrammschnittstellen verwenden intern Unicode, aber viele Anwendungen und APIs verwenden weiterhin die Standardkodierung von das Gebietsschema des Computers wenn Textdaten in Dateien oder Standardausgabe gelesen und geschrieben werden. Obwohl Unicode der akzeptierte Standard ist, ist die Abwärtskompatibilität mit den älteren Windows-Codeseiten weiterhin gegeben.
Das Eurozeichen wurde erst kürzlich hinzugefügt [als zu ANSI- und OEM-Codepages (1998 im Fall von Codeseite 858) und daher veraltete Versionen von Windows nicht möglich sind Zitat benötigt ]
Seit Version 1803 können Windows-Maschinen so konfiguriert werden, dass UTF-8 als "ANSI" - und OEM-Codepage zugelassen wird. 19659026] Die folgenden Windows-Codeseiten sind vorhanden:
ID | Namen | Beschreibung | Typ | Base | Encoding | Standard | Unterstützung für Windows NT | Unterstützung für Windows CE-Familie | Kommentare | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
37 | CP037, IBM037 | IBM EBCDIC US-Canada | Other | EBCDIC-Ableitung | 8-Bit-SBCS | IBM CP037 [9] [9] [9] [9] [9] | Ja | ||||||||
437 | CP437, IBM437 | IBM PC US | OEM | ASCII-Ableitung | 8-Bit-SBCS | IBM CP437 [194590103] | 1.00-4.90 | Ja | |||||||
1250 | CP1250, Windows-1250 | Latin 2 / Mitteleuropäisch | ANSI | ASCII-Ableitung | 8-Bit-SBCS | Microsoft CP1250 [8] [9] | ? | Ja | |||||||
1251 | CP1251, Windows-1251 | ANSI [19659039] ASCII-Ableitung | 8-Bit-SBCS | Microsoft CP1251 [10] [11] | 1252 | 121212 , Windows-1252 | Latin 1 / Westeuropäisch | ANSI | ASCII-Ableitung [19659039] 8-Bit-SBCS | Microsoft CP1252 [12] [13] | ? | Ja | Briefrepertoire ähnlich CP850 | ||
1253 | CP1253, Windows-1253 | Griechisch | ANSI | ASCII-Ableitung | 8-Bit-SBCS | Microsoft CP1253 [15] | ? | Ja | |||||||
1254 | CP1254, Windows-1254 | Türkisch | ANSI | ASCII-Ableitung | 8-Bit-SBCS | Microsoft CP1254 [16] [17] | ? | Ja | |||||||
1255 | CP1255, Windows-1255 | Hebräisch | ANSI | ASCII-Ableitung | 8-Bit-SBCS | 8-Bit-SBCS | [18] [19] | ? | Ja | ||||||
1256 | CP1256, Windows-1256 | Arabic | ANSI | ASCII-Ableitung | 8-Bit-SBCS | Microsoft CP1256 [20] [21] | ? | Ja | |||||||
1257 | CP1257, Windows-1257 | Baltic | ANSI | ASCII-Ableitung | 8-Bit-SBCS | Microsoft CP1257 [22] [23] | ? | Ja | |||||||
1258 | CP1258, Windows-1258 | Vietnamesisch | OEM + ANSI | 8-Bit-SBCS | Microsoft CP1258 [24] [25] | ? | Ja |
Probleme, die sich aus der Verwendung von Codepages ergeben. [ edit ]
. Microsoft empfiehlt dringend die Verwendung von Unicode in modernen Anwendungen. Viele Anwendungen oder Datendateien hängen jedoch immer noch von den älteren Codeseiten ab.
- Programme müssen wissen, welche Codepage verwendet werden muss, um den Inhalt von Dateien korrekt anzuzeigen. Wenn ein Programm die falsche Codepage verwendet, wird möglicherweise Text als Mojibake angezeigt.
- Die verwendete Codepage kann von Computer zu Computer unterschiedlich sein, so dass Dateien, die auf einem Computer erstellt wurden, auf einem anderen Computer möglicherweise nicht lesbar sind.
- Die Daten sind oft nicht ordnungsgemäß mit der Codepage oder gar nicht getaggt, wodurch die Bestimmung der korrekten Codepage zum Lesen der Daten erschwert wird.
- Diese Microsoft-Codepages unterscheiden sich in gewissem Maße von einigen Standards und Implementierungen anderer Anbieter. Dies ist zwar kein Problem von Microsoft an sich wie es bei allen Anbietern der Fall ist, aber die mangelnde Konsistenz macht die Interoperabilität mit anderen Systemen in manchen Fällen unzuverlässig.
- Die Verwendung von Codeseiten schränkt die Menge ein Zeichen, die verwendet werden können.
- In einer nicht unterstützten Codeseite ausgedrückte Zeichen können in Fragezeichen (?) oder andere Ersatzzeichen oder in eine einfachere Version (z. B. das Entfernen von Akzenten aus einem Buchstaben) umgewandelt werden. In beiden Fällen kann das ursprüngliche Zeichen verloren gehen.
Siehe auch [ edit ]
- AppLocale - ein Dienstprogramm zum Ausführen von Nicht-Unicode-Anwendungen (auf Codeseiten basierend) in einem Gebietsschema
Không có nhận xét nào:
Đăng nhận xét