本文介紹了非法參數異常:使用Base64.getDecode()解碼字符串值時,Base64字符3a非法的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我正在解碼的字符串值是”ed:1234″,但它拋出了一個IllegalArgumentException錯誤。如果有人知道我為什么會有這個錯誤,我將不勝感激。
編碼:
String authInfo = "ed:1234";
byte[] bytes = Base64.getDecoder().decode(authInfo);
錯誤:
java.lang.IllegalArgumentException: Illegal base64 character 3a
Base3>
問題是:
(ascii十進制58或十六進制3a)僅在一種(幾種)推薦答案編碼方案中有效,您需要Base64.getMimeDecoder()
。喜歡,
byte[] bytes = Base64.getMimeDecoder().decode(authInfo);
System.out.println(Arrays.toString(bytes));
哪些輸出(無其他更改)
[121, -35, 118, -33]
這篇關于非法參數異常:使用Base64.getDecode()解碼字符串值時,Base64字符3a非法的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,