On Mon, 14 Apr 2003 at 16:10 (+0200), Michael Matz wrote:
On Sun, 13 Apr 2003, Oli Weiss wrote:
Eine gute Moeglichkeit bieten die Bitoperatoren. Bei genauer bitweiser Betrachtung unterscheidet sich ein Klein von einem Grossbuchstaben nur am 5. Bit. Eine UND Verknuepfung die das 5. Bit im Zieloperanden auf Null setzt, macht aus einem Klein- einen Grossbuchstaben. Der Verknuepfungswert ist in diesem Fall 0xdf (hex)
Arghh. Hoert nicht auf ihn. a) Unportabel und b) nicht mal auf normalen 8Bit-Systemen sprach (i.e. locale) -unabhaengig. Die _einzige_ Moeglichkeit Gross- und Kleinbuchstaben ineinander umzuwandeln ist toupper()/tolower() und darauf aufbauende Funktionen.
Ich weiss, es ist zum Teil cool, solche Hacks zu wissen, aber sie richten in den meisten Faellen mehr Schaden als Nutzen an. Als simpler Beweis reicht schon mal, das dein Code das deutsche 'ß' nicht korrekt behandelt (OK, durch Zufall schon, es aendert es naemlich nicht), oder z.B. 'á'.
wobei man hier sagen muss dass das Verhalten beim `ß' auch nicht korrekt ist. Richtig waere nicht es einfach zu lassen sondern ein SS daraus zu machen, was zwar bei einzelnen Zeichen nicht geht aber bei Strings durchaus moeglich waere, in der Tat wird es bei Java so gemacht. Sicherlich ist das bei normalen Programmen `nicht so schlimm', aber etwa bei einer Textverarbeitung haette man dann doch gerne ein korrektes (was in der deutschen Sprache korrekt ist steht im Duden und wird nicht in POSIX etc. definiert) Verhalten. Gruß, Bernhard -- _________ http://www.bwalle.de _________________________________________________ Der Trick in dieser Welt ist herauszufinden, was man gerne tut, und dann noch jemanden zu finden, der einen dafür bezahlt. -- (unbekannt)