本文介绍了非法参数异常:使用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非法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-30 17:04