G
Guest
Gast
Hallo,
habe das Problem dass meine Stringumwandlung nicht funktioniert. Im folgenden Quelltext wird in der ersten Prozedur aus einem Bytearray ein String erzeugt und meiner Umwandlungsroutine übergeben. Dummerweise funktioniert die zweite Prozedur nicht so wie sie soll. Wenn ich über System.out.println die einzelnen Zeichen ausgebe wird -124 ausgegeben.
Aus mir unerklärlichen Gründen wird das Zeichen nicht mit 0xe4 ersetzt. Auch wenn ich statt der 0x84 132 oder -124 einsetze wird der Teil in den geschweiften Klammern nie ausgeführt. Das "Es klappt" wird also nie angezeigt.
Was mache ich nur falsch?
Gruß
Ingo Fischer
hier jetzt mein Quelltext:
habe das Problem dass meine Stringumwandlung nicht funktioniert. Im folgenden Quelltext wird in der ersten Prozedur aus einem Bytearray ein String erzeugt und meiner Umwandlungsroutine übergeben. Dummerweise funktioniert die zweite Prozedur nicht so wie sie soll. Wenn ich über System.out.println die einzelnen Zeichen ausgebe wird -124 ausgegeben.
Aus mir unerklärlichen Gründen wird das Zeichen nicht mit 0xe4 ersetzt. Auch wenn ich statt der 0x84 132 oder -124 einsetze wird der Teil in den geschweiften Klammern nie ausgeführt. Das "Es klappt" wird also nie angezeigt.
Was mache ich nur falsch?
Gruß
Ingo Fischer
hier jetzt mein Quelltext:
Code:
public String getModelName() {
String modelName;
modelName = convertNameToPC(new String(dataBlock, NAMEINDEX, 8));
return modelName;
}
private String convertNameToPC(String name) {
String neuerName="";
// byte[] nameBytes = name.getBytes();
// System.out.println("tttt::"+nameBytes[1]+":"+nameBytes[2]+":"+nameBytes[3]+":"+nameBytes[4]+":"+nameBytes[5]+":"+(nameBytes[6]&0xff)+":"+nameBytes[7]);
for (int i=0; i<=name.length()-1;i++) {
String zeichenStr = name.substring(0, name.length()-2);
char zeichen=name.charAt(i);
if (zeichen<0x20) {zeichen=0x20;};
if (zeichen==0x5c) {zeichen=0xA5;};
if (zeichen==0x80) {zeichen=0xc7;};
if (zeichen==0x84) {
zeichen=0xe4;
System.out.println"Es klappt!";
};
if (zeichen==0x9a) {zeichen=0xd6;};
}
return neuerName;
}