Frage

Was ist ANSI-Encoding-Format? Ist es ein System-Standard-Format? In welcher Weise unterscheidet es sich von ASCII?

War es hilfreich?

Lösung

ANSI-Codierung ist ein etwas allgemeiner Begriff verwendet, um die Standard-Codepage auf einem System zu finden, in der Regel von Windows. Es wird mehr richtig bezeichnet als von Windows-1252 auf Western / US-. Systeme. (Es kann einige andere Windows-Codeseiten auf anderen Systemen ). Dies ist im Wesentlichen ein Erweiterung des ASCII-Zeichensatz , dass sie alle ASCII-Zeichen mit zusätzlichen 128 Zeichencodes enthält. Dieser Unterschied ist auf die Tatsache zurückzuführen, dass "ANSI" encoding ist 8-Bit anstatt 7-Bit als ASCII (ASCII ist fast immer heute als 8-Bit-Bytes mit dem MSB auf 0 gesetzt). Siehe den Artikel für eine Erklärung, warum diese Codierung wird in der Regel bezeichnet als ANSI.

Der Name „ANSI“ ist eine falsche Bezeichnung, da es zu einem tatsächlichen ANSI-Standard nicht entspricht, aber der Name ist geblieben. ANSI ist nicht die gleiche wie UTF-8.

Andere Tipps

Technisch ANSI sollte die gleiche wie US-ASCII sein. Es bezieht sich auf den ANSI X3.4-Standard, der einfach ist die ANSI Organisation ratifizierten Version von ASCII. Die Verwendung der Top-Bit-Satz-Zeichen nicht in ASCII definiert ist / ANSI, wie es ist ein 7-Bit-Zeichensatz.

Allerdings Jahre Missbrauch des Begriffs durch das DOS und anschließend Windows-Gemeinschaft ihre praktische Bedeutung als „System-Codepage von was auch immer Maschine verwendet wird“ verlassen haben. Die System-Codepage wird manchmal auch als ‚MBCS‘ bekannt, da auf ostasiatischen Systemen, die eine Multiple-Byte-pro-Zeichencodierung sein können. Einige Code-Seiten können sogar verwenden Top-Bit-clear Bytes als Bytes in einer Multibyte-Sequenz Hinter, so ist es nicht einmal streng kompatibel mit einfacher ASCII ... aber selbst dann, es ist immer noch „ANSI“ bezeichnet.

Auf USA und Westeuropa Standardeinstellung „ANSI“ Karten auf Windows-Codepage 1252. Dies ist nicht die gleiche wie ISO-8859-1 (obwohl es ziemlich ähnlich ist). Auf anderen Maschinen könnte es etwas anderes überhaupt sein. Das macht „ANSI“ völlig nutzlos als externe Codierung Kennung.

Genau genommen gibt es nicht so etwas wie ANSI-Codierung. Umgangssprachlich wird der Begriff ANSI für verschiedene Kodierungen verwendet:

  1. ISO 8859-1
  2. Windows-CP1252
  3. Aktuelles System Codierung auf einem Windows-Rechner (in Win32-API-Terminologie).

Es war einmal Microsoft, wie jeder andere auch, verwendet 7-Bit-Zeichensätze, und sie erfanden ihre eigenen, wenn es ihnen passte, obwohl sie ASCII als Kernuntergruppe gehalten. Dann erkannte sie hatte sich die Welt bewegt auf 8-Bit-Kodierungen und dass es internationale Standards um, wie die ISO-8859-Familie. In diesen Tagen, wenn Sie halten, einen internationalen Standard erhalten wollten und Sie in den USA lebten, kaufte man es vom American National Standards Institute, ANSI, die internationalen Standards mit ihrem eigenen Branding erneut veröffentlicht und Zahlen (das ist, weil die US-Regierung will Konformität mit den amerikanischen Standards, nicht den internationalen Standards). So Microsofts Kopie der ISO-8859 sagte: „ANSI“ auf dem Cover. Und weil Microsoft waren sehr nicht an Standards in jenen Tagen, sie wussten nicht, dass ANSI als auch viele andere Standards veröffentlicht. So bezeichnete sie die Standards in der ISO-8859-Familie (und die Varianten, die sie erfunden, weil sie nicht wirklich Standards in diesen Tagen zu verstehen) mit dem Namen auf dem Cover, „ANSI“, und es fand seinen Weg in Microsoft Benutzerdokumentation und damit in die User-Community. Das war vor etwa 30 Jahren, aber immer noch manchmal den Namen heute hört.

ASCII definiert nur eine 7-Bit-Codepage mit 128 Symbolen. ANSI erstreckt sich diese auf 8 Bit und es gibt mehrere verschiedene Codepages für die Symbole 128 bis 255.

Die Benennung ANSI ist nicht korrekt, weil es tatsächlich die ISO / IEC 8859 Norm ist, dass dieser Codepages definiert. Siehe ISO / IEC 8859 Referenz. Es gibt 16 Codepages ISO / IEC 8859-1 ISO / IEC 8859-16.

Windows 1252 wieder basierend auf ISO / IEC 8859-1 mit einigen Änderungen vor allem im Bereich der C1 Steuerung im Bereich 128 bis 159. Wikipedia gesetzt besagt, dass Windows- 1252 wird auch als ISO-8859-1 mit einem zweiten Bindestrich zwischen ISO und 8859. refered (Unglaublich! Wer tut so etwas?!?)

Im Grunde genommen „ANSI“ bezieht sich auf das Vermächtnis Codepage unter Windows. Siehe auch ein Artikel von Raymond Chen zu diesem Thema . Die ersten 127 Zeichen sind identisch mit ASCII in den meisten Codepages, die oberen Zeichen variieren, though.

Allerdings ANSI ist nicht automatisch bedeuten CP1252 oder Latin 1.

Alle Verwirrung ungeachtet sollten Sie einfach solche Probleme heute und verwenden Unicode vermeiden.

Für den Fall, Ihr PC ist kein „westlicher“ PC und Sie nicht wissen, welche Codepage verwendet wird, können Sie einen Blick auf dieser Seite: National Language Support (NLS) API-Referenz

[Microsoft entfernt diese Referenz, nehmen Sie es Web-Archiv bilden National Language Support (NLS) API-Referenz

Oder Sie können Ihre Registrierung abfragen:

C:\>reg query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage /f ACP

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage
    ACP    REG_SZ    1252

End of search: 1 match(es) found.

C:\>

Wenn Single-Byte-Zeichen verwendet wird, definiert das ASCII-Format die ersten 127 Zeichen. Die erweiterten Zeichen 128-255 werden durch verschiedene ANSI-Codepages definiert begrenzte Unterstützung für andere Sprachen zu ermöglichen. Um Sinne einer ANSI-codierte Zeichenfolge zu machen, müssen Sie wissen, welche Codepage es verwendet.

Ich erinnere mich, als „ANSI“ Text zu dem Pseudo bezeichnete VT-100-Escape-Codes verwendbar in DOS durch den Treiber ANSI.SYS den Fluss von Streaming-Text zu ändern .... Wahrscheinlich nicht, was Sie sich beziehen, aber wenn es finden Sie unter http://en.wikipedia.org/wiki/ANSI_escape_code

ANSI (aka Windows 1252 / WinLatin1) ist eine Zeichencodierung des lateinischen Alphabets, ziemlich ähnlich wie ISO-8859-1 . Sie können einen Blick von es bei Wikipedia nehmen wollen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top