ASCII Zeichen

#843011
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!
(Firma: Druckerei Beste) #843036
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
Gast #843382
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
Gast #843858
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.
Persönliche Seite #843891
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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren