Ich habe eine Zeichenfolge, die Base64 codiert ist. Es sieht wie folgt aus:Base64: Eingabe Byte-Array hat falsche End-Byte bei 40
eyJibGExIjoiYmxhMSIsImJsYTIiOiJibGEyIn0=
Alle Online-Tool, das auf die richtige Zeichenfolge entschlüsseln kann, die {"bla1":"bla1","bla2":"bla2"}
ist. Aber meine Java-Implementierung fehlschlägt:
import java.util.Base64;
System.out.println("payload = " + payload);
String json = new String(Base64.getDecoder().decode(payload));
ich die folgende Fehlermeldung erhalten:
payload = eyJibGExIjoiYmxhMSIsImJsYTIiOiJibGEyIn0=
java.lang.IllegalArgumentException: Input byte array has incorrect ending byte at 40
Was mit meinem Code ist falsch?
[Kann nicht reproduziert werden] (http://ideone.com/z07TWN), ein zusätzliches Zeichen am Ende der Zeichenfolge würde genau diese Ausnahme auslösen ... –
Aber woher bekommen Sie die codierte Zeichenfolge? wie übergibst du es an die Payload-Variable ?, weil, wie du sagst, es funktioniert ... Ich habe es gerade mit Java 8 getestet und keine Probleme. –