Wird wohl der Unterschied zwischen der DOS-Codepage 850 und der Windows Codepage 1252 sein:
DOS: 84h=312d
http://acspro.atari.org/KeyTab/Modern/006005.html
Win-1252 C4h=196
http://acspro.atari.org/KeyTab/Modern/006002.html
(Da kommen Retro Gefühle auf:
mode con codepage prepare=(850)

)
Eine Lösung für dein Problem kenne ich leider auch nicht. Du könntest die DOS-Zeichen zu den erlaubten zeichen hinzufügen:
Code:
static boolean isLetter(char ch){
return Character.isLetter(char ch) || Character.getNumericValue(char ch)==132 || alle anderen Fälle
}
Die Lösung kann man noch ein bischen eleganter machen:
Code:
static boolean isLetter(char ch){
int[] dosValues={132,142,148,...};
int numVal=Character.getNumericValue(char ch);
boolean isDosChar;
for (int i=0; i<dosValues.length;i++){
if(dosValues[i]==numVal){
isDosChar=true;
break;
}
}
return isDosChar || Character.isLetter(char ch);
}
Es bleibt aber eher eine Krücke.
Gibt's eigentlich eine Funktion um zu schauen ob ein Element in einem Array enthalten ist? Das würde die for-Schleife sparen.
Jak
____________________________________
Join the DNRC |
Godwin\'s Law (thx@stona)
Documentation is like sex: If it\'s good, it\'s very, very good. If it\'s bad, it\'s better than nothing.
\"In theory, theory and practice are the same. In practice, they are not\" (Lawrence Berra)