2014-04-23 12 views
7

sto ottenendo un "java.lang.IllegalArgumentException: bad base-64" sul seguente codice:Bad base-64 errore

byte[] msgBytes = Base64.decode(msgStr, Base64.NO_WRAP); 

msgString è una stringa, e proprio prima di questa linea, posso controllare il valore di msgStr ed è "fl-ILw ==". C'è qualcosa che non va?

Grazie.

risposta

6

Secondo RFC 4648 (http://www.rfc-editor.org/rfc/rfc4648.txt) '-' carattere non è un carattere Base64 valido ma d'altra parte è valido per "Alfabeto di base 64 sicuro e nome file sicuro".

Quindi è possibile utilizzare Base64.URL_SAFE a seconda del formato previsto della stringa.

+1

Vedo. Grazie. Ho sostituito '/' e '+' a '_' e '-' rispettivamente per tenerlo al sicuro per i nomi dei file. Deve essere così allora. Grazie! – user1118764