ASCII to Int
-
Hallo Forum!
Ich habe folgendes Problem:
Ich will Zeichen in ihren ASCII Code umwandeln.
Soweit so einfach:
printf ("%d\n", 'ä');
Das Problem ist nun, dass die ausgegebenen Zahlen nicht zu meiner Vergleichstabelle passen.
Vergleichstabelle:
http://quellenspiel.ohost.de/images_fuer_foren/font.bmpWeiss jemand wodran dass liegen kann???
Danke MM
:schland:
-
ASCII ist nur bis zum Code 127 definiert.
Für den Rest (ab 128) hängt es von deinem System und den eingestellten Codepages ab.
-
Hi nochmal,
mir ist gerade aufgefallen, dass die Differenzen erst ab Zeichen ~ (126) auftreten.Diese ersten Zeichen sind auch in Wikipedia beschrienben
:
http://de.wikipedia.org/wiki/American_Standard_Code_for_Information_InterchangeWie komme ich nun zu den anderen ASCII Codes, die auf meiner Vergleichstabelle sind? Insbesondere deutsche Zeichen (ä, ö, ü, ...) währen wichtig!
Gruß MM
:schland:
-
DirkB schrieb:
ASCII ist nur bis zum Code 127 definiert.
Für den Rest (ab 128) hängt es von deinem System und den eingestellten Codepages ab.Ah, danke, kann ich das irgendwie ändern???
Ich mein so, dass die ASCII Codes zu meiner Tabelle passen?
Gruß MM
:schland:
-
Das hängt halt von dem ausgewählten Encoding ab. Heutzutage wird oft iso 8859-1 oder UTF-8 (Unicode) verwendet. Bei letzterem ist ein ä mehr als ein Zeichen lang. Du siehst also, dass das ganze schnell kompliziert wird. Siehe zB http://www.joelonsoftware.com/articles/Unicode.html
-
Warum sollte sich dein System nach deiner Tabell richten?
Lies dir nochmal den Wikipedia-Artikel zu ASCII richtig durch.
Es gibt schon Probleme, wenn du in Windows mit VisualStudio ein Programm mit Umlauten schreibst und das dann auf der Konsole ausgibst.
Die haben schon unterschiedliche Codepages.http://www.c-plusplus.net/forum/39326
Nimm statt der Hex, die Oktal-schreibweise mit 3 Ziffern. (Oktal nimmt max. 3 Ziffern)statt printf("Heute ist ein sch\x94ner Tag!\n"); besser: printf("Heute ist ein sch\224ner Tag!\n");
Was willst du machen?
Sonst suchst du eine Lösung für den falschen Weg.
-
Ok, danke, oktal klappt bei mir
Mein Plan war mit Simple Directmedia Layer Schrift auf den Bildschirm zu bringen, ohne die schon vorprogrammierte Funktion für ttf Dateien zu verwenden.Danke MM
:schland: