【问题标题】:base64 decode string and encode all special characters lostbase64 解码字符串并编码所有丢失的特殊字符
【发布时间】:2018-05-05 09:32:54
【问题描述】:

我有一个 Java 类,我使用 GSON 将其转换为字符串。发布这个字符串是base64编码的(出于某种原因,我们不要去那里:))当我将它解码回来时,我丢失了json中的所有{和“”字符。

例如:{"name":"ABC"} 解码编码回来变成nameABC

我想取回我的旧数据,即我想要 {"name:"ABC"} 回来

String json = "{\"name\":\"ABC\"}";
byte en[] = android.util.Base64.decode(json,Base64.NO_WRAP);
String st = android.util.Base64.encodeToString(en,Base64.NO_WRAP);

如上简单,内容丢失

请帮忙

【问题讨论】:

    标签: android json base64


    【解决方案1】:

    你不能Base64设置了64个可以转换成二进制的字符,反之亦然,像{和"这样的字符不在这64个字符集中检查this

    尝试使用 URLDecoderUTF-8 或任何其他支持 UTF-8 的编码方法

    【讨论】:

    • 试过了,没用 :( 也试过其他的,比如 URL_SAFE 等等
    • Base64.DEFAULT 的输出为 nameABA=
    • 是的,只是不要使用 Base64
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-13
    • 1970-01-01
    • 2017-06-06
    相关资源
    最近更新 更多