使用解码时出现了错误的Base64编码

3
我正在使用以下代码对url进行编码,然后对其进行解码并在我的项目中使用,但当我尝试在此代码上加载url时,我不断收到错误消息,并且应用程序崩溃。 希望能得到任何指导。
private static String getURL() {
    String base64URL = "http://www.domain.dom/folder/folder2/2.json";
    byte[] data = Base64.decode(base64URL, Base64.NO_CLOSE);
    String text = new String(data, StandardCharsets.UTF_8);
    return text;}

错误:

java.lang.IllegalArgumentException: bad base-64

“http://www.domain.dom/folder/folder2/2.json” 不是一个有效的 Base64 字符串... 或许你想先从该 URL 下载数据? - Martin R
为什么这不是一个有效的base64字符串? - Limpfro
因为它根本不是base64编码。请参阅https://en.wikipedia.org/wiki/Base64。 - Gabe Sechan
同时,将URL编码为Base64实在是非常奇怪的。几乎没有任何理由去这样做。Base64的目的是将二进制数据编码为文本字符串,以便通过某些只能发送文本的方式进行传输。而URL已经是文本,因此使用它是毫无意义的。 - Gabe Sechan
1个回答

2
尝试使用Base64.NO_WRAP或Base64.NO_PADDING,这两个对我都有效。
希望能帮到你。

尝试过了,但又崩溃了。 - Gk Mohammad Emon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接