base64解码字符串并编码丢失的所有特殊字符

时间:2018-05-05 09:32:55

标签: android json base64

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

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

我想要恢复旧数据,即我想{"名称:" 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);

如上所述,内容丢失

请帮忙

1 个答案:

答案 0 :(得分:0)

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

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