首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >仅使用JDK6进行Base64解码

仅使用JDK6进行Base64解码
EN

Stack Overflow用户
提问于 2011-05-06 16:10:23
回答 2查看 56.6K关注 0票数 24

This question with regard to JDK 5说,JDK5没有提供实现,但是JDK6应该有一个sun.misc.Base64Decoder

不过,据我所知,JDK没有提供这个类,我在其中找不到任何其他类似的类

那么,JDK6的情况是怎样的呢?

我知道有许多像Commons和JBoss这样的实现,但我们有一个限制性的第三方库策略,所以我试图避免重复发明轮子。

EN

回答 2

Stack Overflow用户

发布于 2016-07-07 21:26:06

就像Joachim Sauer在之前的评论中所说的那样,JDK1.6已经与它自己的Base64实现(sun.misc.*)捆绑在一起了,下面是一个例子:

代码语言:javascript
复制
String toEncode = "Encoding and Decoding in Base64 Test";
//Encoding in b64
String encoded = new BASE64Encoder().encode(toEncode.getBytes());
System.out.println(encoded);
//Decoding in b64
byte[] decodeResult = new BASE64Decoder().decodeBuffer(encoded);
System.out.println(new String(decodeResult));
票数 7
EN

Stack Overflow用户

发布于 2019-06-25 07:07:12

我使用了byte[] decodedValue = DatatypeConverter.parseBase64Binary(value);

这个网站解释得很好:https://www.rgagnon.com/javadetails/java-0598.html

摘录如下:

代码语言:javascript
复制
   public static String encode(String value) throws Exception {
      return  DatatypeConverter.printBase64Binary
          (value.getBytes(StandardCharsets.UTF_8)); // use "utf-8" if java 6
   }

   public static String decode(String value) throws Exception {
      byte[] decodedValue = DatatypeConverter.parseBase64Binary(value);
      return new String(decodedValue, StandardCharsets.UTF_8); // use "utf-8" if java 6
   }
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5908574

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档