- Forum-Beiträge: 770
29.03.2016, 21:50:57 via Website
29.03.2016 21:50:57 via Website
Hallo,
ein Gateway für eine Heizungssteuerung liefert mir einen base64-codierten String. Aus diesem String möchte ich einen Zahlenwert (Integer) extrahieren (später dann noch weitere Werte, aber erstmal muss es mit diesem einen Wert funktionieren). Dazu hab ich folgendes Code-Fragment:
byte[] DecodedBytes = Base64.decode(DataString,Base64.NO_WRAP);
String DecodedString = new String(DecodedBytes,"US-ASCII");
// die ersten beiden Zeichen im String sind unwichtig
DecodedString = DecodedString.substring(2,DecodedString.length());
String RaumCount = DecodedString.substring(0,1);
CubeMMsg_RoomCount = parseInt(RaumCount); // CubeMMsg_RoomCount ist an anderer Stelle als int deklariert
Allerdings erhalte ich genau bei p
arseInteine Exception.
EDIT: Die Exception lautet: "java.lang.NumberFormatException: Invalid int: "\u0005""
Im Debugger sieht der Inhalt von DecodedString so aus wie im angehängten Bild (copy&paste entfernt leider Zeichen)
Jetzt ist für mich die Frage: Kann ich die Konvertierung von base64 nach String irgendwie beeinflussen? Oder brauch ich statt parseInt etwas anderes? Was?
Danke und Gruss
G.-U.M.
— geändert am 29.03.2016, 21:58:37
N'y pas n'y
tu car tu
mal tu mal
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.