我正在尝试对字节数组进行 base64 解码,只要我的字节数组不包含任何像“-”或“_”这样的字符,一切都运行良好。但是每当字节数组包含“-”时,我都会收到一个异常
java.lang.IllegalArgumentException: Illegal base64 character 2d
at java.util.Base64$Decoder.decode0(Base64.java:714)
at java.util.Base64$Decoder.decode(Base64.java:526)
当字节数组包含'_'时,异常是
java.lang.IllegalArgumentException: Illegal base64 character 5f
at java.util.Base64$Decoder.decode0(Base64.java:714)
at java.util.Base64$Decoder.decode(Base64.java:526)
即字符 2d 到 5f 之后的代码差异。这些代码是什么。无论代码中的这些字符如何,我如何解码任何值?
这是我的代码片段:
import java.util.Properties;
import java.util.Base64;
import java.io.*;
...
public class BasicSample {
public static void main(String[] args) {
byte[] encoded = res.getBytes("s_id");
System.out.printf("\nInside Byte %s\n",new String(encoded) );
try {
byte[] decoded = Base64.getDecoder().decode(encoded);
System.out.printf("\nDecoded Byte %s\n",new String(decoded, "UTF-8") );
} catch(Exception e) {
e.printStackTrace();
}
}
}
阿波罗的战车
慕田峪4524236
相关分类