Ho una stringa codificata in base64. Ecco come si presenta:Base64: l'array di byte di input ha un byte di fine non corretto a 40
eyJibGExIjoiYmxhMSIsImJsYTIiOiJibGEyIn0=
Qualsiasi strumento online in grado di decodificare questo per la stringa corretta che è {"bla1":"bla1","bla2":"bla2"}
. Tuttavia, la mia implementazione Java non riesce:
import java.util.Base64;
System.out.println("payload = " + payload);
String json = new String(Base64.getDecoder().decode(payload));
che sto ottenendo il seguente errore:
payload = eyJibGExIjoiYmxhMSIsImJsYTIiOiJibGEyIn0=
java.lang.IllegalArgumentException: Input byte array has incorrect ending byte at 40
Cosa c'è di sbagliato con il mio codice?
[Impossibile riprodurre] (http://ideone.com/z07TWN), un carattere extra alla fine della stringa solleva quell'eccezione esatta ... –
Ma da dove si ottiene la stringa codificata? come si passa alla variabile payload ?, perché come dici tu funziona ... l'ho appena testato con Java 8 e senza problemi. –