www.mikrocontroller.net

Forum: PC-Programmierung ASCII Zeichen


Autor: S!mply Red (bulb)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Ich hab mir mal eine ASCII Tabelle ausgedruckt 
(http://www.physik.fu-berlin.de/~goerz/misc/ascii.gif) und wollte die 
bei meinem MFC Programm verwenden, allerdings habe ich festgestellt, 
dass die ASCII Tabelle nicht mit dem ASCII-Code des Visual 6 
übereinstimmt (Wenn ich ALT gedückt halte und den Dezimalwert für ein 
ASCII- Zeichen eingebe).
Verwendet Microsoft in VC 6++ einen anderen Standart?

Danke!

Autor: Werner A. (homebrew)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hängt das nicht eher von der verwendeten Schriftart ab?

Autor: Thomas Bremer (Firma: Druckerei Beste) (virtupic)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Codes von 32 bis 127 (0x20 bis 0x7F) sind ziemlich allgemeingültig. 
Ich glaube nicht, dass MS da was anderes macht. Die ersten 32 Codes sind 
Steuerzeichen, bei denen jeder macht was er will. Die Spielkarten in der 
Tabelle kann man nicht ernst nehmen.

Wenn mehr als 7 Bits benutzt werden (also alles ab 128 - 0x80) sind 
nicht im ASCII standardisiert. Da gibt's dann eine Reihe von ISO-8859, 
Unicode und anderen Standards.

Kurz gesagt: 0-9, A-Z, a-z und noch ein paar mehr sollten auf so 
ziemlich allen Rechner in allen Programmen gleich codiert sein. 
Unabhängig von der Schrift. Für öäüß... gibt's Unterschiede, je nach 
Rechner, Software und Schrift.

Das "fast" bezieht sich daraf, dass es vielleicht noch den einen oder 
anderen Mainframe mit EBCDIC-Codierung oder gar anderes gibt.

virtuPIC

Autor: Kai G. (runtimeterror)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Verwendet Microsoft in VC 6++ einen anderen Standart?

Der Standard -Zeichensatz unter Windows ist cp1252 - ansonsten UTF16 
soweit ich weiß.
Viele Details dazu auch unter http://www.fileformat.info

Autor: S!mply Red (bulb)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke für eure raschen antworten.

Autor: Spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Der verwendete Zeichensatz ist auch noch von der Ländereinstellung 
abhängig.

Übrigens gibt es unter Windows das Programm 'Charmap.exe', mit dem man 
sich die einzelnen Fonts ansehen kann.

MfG Spess

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auf diesem Bild ist ein "Extended ASCII Chart" zu sehen. Es gibt aber 
kein "Extended ASCII". Nur die ersten 128 Zeichen gehören zu ASCII.

> Die ersten 32 Codes sind Steuerzeichen, bei denen jeder macht was er
> will.

Die sind aber durchaus auch in ASCII definiert, nur eben nicht als 
normale darstellbare Zeichen, sondern mit einer Sonderfunktion. Die 
Bezeichnung in Klammern ist der ASCII-Name. Das Zeichen 127 ist 
eigentlich auch ein Steuerzeichen. Dieses Häuschen hat also auch nichts 
mit ASCII zu tun.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ums noch weiter auszuwalzen:

Die abgebildete Zeichentabelle gibt den von IBM definierten Zeichensatz 
der Codepage 850 wieder. Dieser Zeichensatz wird unter DOS verwendet und 
ist unter Windows die Standardvorgabe in Konsolenfenstern.

Die von Windows in Windows-Applikationen verwendete Codepage 1252 wird 
auch als ANSI oder Latin-1* bezeichnet; es gibt praktisch überhaupt 
keinen Grund mehr, unter Windows mit CP850 zu arbeiten. Auch in 
Konsolfenstern nicht, mit geeigneten Win32-API-Funktionen wie 
SetConsoleOutputCP und SetConsoleCP lässt sich die verwendete Codepage 
sinnvoll anpassen.

Allerdings sollte dann auf die Verwendung der installierten 
Pixelbreischrift im Konsolenfenster verzichtet werden und die für 
Konsolennutzung installierte Schriftart "Lucida Console" verwendet 
werden, diese enthält alle benötigten Glyphen der unterschiedlichen 
Codepages und kann im Gegensatz zu den Pixelbreischriften anständig 
skaliert werden.
Mit einigen Tricks lässt sich auch die mit "Vista" gelieferte Schriftart 
"Consolas" nutzen, die eine deutlich lesbarere und eindeutigere 
Unterscheidung der Glyphen 1Il und 0O zulässt.
Aber das ist 'ne andere Geschichte.



*) CP1252 ist nicht exakt dasselbe wie ANSI, Latin-1 oder ISO8859-1, 
aber ausreichend ähnlich.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.