Gast
#4098175
Hallo, haben die ASCII Zeichen (0 bis 255) unterschiedliche Kodierungen abhängig von den Windows-Spracheinstellungen? Ich denke nicht. Was denkt Ihr? Gruß Pit
|
Anzeige
|
ASCII Zeichensatz
Gast
#4098175
Hallo, haben die ASCII Zeichen (0 bis 255) unterschiedliche Kodierungen abhängig von den Windows-Spracheinstellungen? Ich denke nicht. Was denkt Ihr? Gruß Pit Google kaputt? http://de.wikipedia.org/wiki/American_Standard_Code_for_Information_Interchange Gruß Andreas Nein, es gibt nur eine Kodierung für ASCII. Allerdings geht ASCII nur bis 127, d.h. es gibt keine Umlaute usw. Deswegen werden andere Zeichensätze wie ISO-8859 usw. verwendet, Windows hat da auch wieder eigene. Siehe http://de.wikipedia.org/wiki/ISO_8859 Windows verwendet durchaus unterschiedliche Codepages in Abhängigkeit von der Spracheinstellung. Die meisten "westlichen" Sprachen verwenden CP1251, was weitestgehend IS8859-1 entspricht. Wählt man aber Sprachen mit stark abweichenden Zeichenbedarf, wie z.B. polnisch oder gar Sprachen mit nichlateinischen Schriftsystemen (griechisch, russisch, georgisch etc.), dann wird eine andere Codepage genutzt. Die Codepage ist aber nur relevant für Programme, die intern mit 8-Bit-Zeichensätzen arbeiten; Windows selbst arbeitet mit 16-Bit-Unicode, und viele neuere Programme verwenden UTF-8, so daß hier keine Codepage nötig ist. Im von vielen Leuten hartnäckig falsch "DOS-Fenster" genannten Kommandozeilenfenster verwendet Windows auf "westlichen" Systemen eine komplett andere Codepage, und zwar eine, die den Zeichensatz des alten IBM PC nachbildet. Das ist CP437 bzw. leicht variiert CP850. Programme, die als Konsolanwendungen laufen, können die verwendete Codepage auch umschalten (mit SetConsoleOutputCP), aber das hat nur dann eine sinnvolle Auswirkung, wenn im Konsolenfenster eine geeignete Schriftart verwendet wird. Die standardmäßig aktiven Pixelfonts kennen nur eine Codepage und können daher Sonderzeichen aus anderen Codepages nicht darstellen. Als Schrifteinstellung für Konsolenfenster empfiehlt sich daher "Consoloas" oder "Lucida Console" - das sind Truetype-Fonts, die beliebige Codepages darstellen können. Der ASCII-Code übrigens ist immer der gleiche - die ersten 127 Zeichen aller Codepages und sonstigen Zeichencodierungssysteme sind i.d.R. identisch.
Gast
#4098258
Pit schrieb: > haben die ASCII Zeichen (0 bis 255) ASCII geht nur von 0 bis 127. Alles was danach kommt ist der "erweiterte ASCII"-Zeichensatz und ist Regions abhaengig. So wirst du hier in D mit dem ASCII-Code 200 ein anderes Zeichen arhalten als in der Tuerkei, oder in Israel, oder in Spanien oder in Russland.
Gast
#4098344
Ich habe jetzt auch noch mal nachgelesen, und ihr habt mal wieder recht! 1. ASCII von 0 bis 127 ist immer gleich. 2. Wenn man UTF8 nimmt ist man auf der sicheren Seite - wobei UTF8 im Bereich 0 bis 127 dem ASCII entspricht. 3. Google hilft weiter 4. Goto 1 Danke und Gruß Pit >die als Konsolanwendungen laufen, können die verwendete Codepage auch >umschalten (mit SetConsoleOutputCP), aber das hat nur dann eine Oder mit "chcp <codepage>" in der Session die CP umschalten. Jens G. schrieb: > Oder mit "chcp <codepage>" in der Session die CP umschalten. Kann man auch machen, oder
Eleganter ist es aber, das in der Anwendung selbst zu machen, die nämlich weiß, was sie ausgeben will. An der Einschränkung durch die verwendete Schriftart ändert das aber nichts. "Rasterschriftart" ist nur für Codepage 850 bzw. mit kleinen Einschränkungen 437 verwendbar.
Gast
#4099408
Rufus Τ. Firefly schrieb: > "Rasterschriftart" ist nur für Codepage 850 bzw. mit kleinen > Einschränkungen 437 verwendbar. Und die armen Schweine im Rest der Welt haben keine Rasterschriften? Ich habe für meine Steuerungen eine kyrillische Rasterschrift zur Verfügung gestellt, weil Russen das lieber lesen. Die Welt ist grösser und vielfältiger als so mancher sich das vorstellen kann. Georg Georg schrieb: > Und die armen Schweine im Rest der Welt haben keine Rasterschriften? Haben sie, aber die sind halt nur auf den entsprechend lokalisierten Windows-Versionen verfügbar. Die ganze Computer Technologie, resp die ersten Implementation fanden eben im Sprachraum mit lateinischen Buchstaben statt. Wir koennen froh sein, denn sie haetten koennen, resp in der Zukunft werden sein koennen auch auch in Japanischer oder Chinesischer Schrift sein. Und da kommt eben mehr als nur die Zeichen mit. Auch die Denkweise. Anstelle von "Enter" und "Cancel" koennten die Buttons auch "Mach mal weiter" und "Jetzt grad nicht" heissen, und auch dss bedeuten. Das laeuft dann unter Alphabet-Imperialismus ... :-) Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|