当前位置: 首页 > 知识库问答 >
问题:

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

狄富
2023-03-14

我有一个Java类,我用GSON把它转换成字符串。张贴这个字符串是base64编码的(由于某种原因,我们不去那里:),当我解码回来,我失去了所有的json中的{和}字符。

例如:{“name”:“ABC”}解码并编码回名称ABC

我想要回我的旧数据,即我想要回{"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);

像上面这样简单的事情,内容丢失了

请帮忙

共有1个答案

扈韬
2023-03-14

您不能< code>Base64设置了64个可以转换为二进制的字符,反之亦然,像{ and "这样的字符不在64个字符集中,请检查这一点

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

 类似资料:
  • 问题内容: 我得到了一个像这样的字符串 我该如何编写Java代码来解码编码字符,例如 在字符串中。是否有任何现有的类/方法可以对其进行解码? 谢谢。 问题答案: 要取消转义HTML / XML实体,请使用Apache Commons Lang 或homegrow one 。

  • 相关网站:http://nubix.ca/blog/we-have-a-drone-and-were-prepared-to-shot/

  • 我想将一个字符串编码成并通过套接字传输它,然后解码回来。 下面是我的代码,结果是“77+9x6s=” 有什么想法如何实现这一点吗?

  • 问题内容: 在Java中,我需要使用HTTP Post将请求发送到服务器,但是如果URL的参数中包含一些特殊字符,它将在Exception下面抛出 java.lang.IllegalArgumentException:URLDecoder:转义(%)模式中的非法十六进制字符-对于输入字符串:“&’” 发送数据的代码 在服务器端,我使用以下代码读取信息 代码可以正常工作,但是如果我输入一些特殊字符,

  • 问题内容: ’=?KOI8-R?B?W1JFUS0wMDI1NDEtNDc5NzddIO / h7yAi89TSz8rGwdLGz9IiIDs =?= \ r \ n \ t =?KOI8-R?B?Ry43MjkgKDEwKQ ==?=’ 如何将其转换为可读的内容?谢谢 ! 问题答案: email.header.decode_header(‘=?KOI8-R?B?W1JFUS0wMDI1NDEtN

  • 问题内容: 是否有仅使用JAVA 1.5 LIBRARIES来解码base64字符串的简便方法? 由于Windows和Mac OS X之间存在跨平台兼容性问题,我必须使用Java 1.5(仅Mac 10.5支持Java 1.6,低于10.5的所有内容均默认使用Java 1.5)。 对象“ sun.misc.Base64Decoder”在Java 6中存在,但在Java 5中不存在。 问题答案: 不