2015-02-10 64 views
-1

如何将字符串从Base64编码在java中如何将字符串从Base64编码在java中

解码为UTF-8我有Base64格式的字符串,我想其解码为UTF-8,可以解码为UTF-8任何人都可以帮助我?

+0

我输入:5qWt55WM5pSv5Ye6UERGXzIwMTUwMjEwMTEwNjIy – user3714194 2015-02-10 09:59:20

+0

我输入的是:5qWt55WM5pSv5Ye6UERGXzIwMTUwMjEwMTEwNjIy – user3714194 2015-02-10 09:59:38

+0

输入:5qWt55WM5pSv5Ye6UERGXzIwMTUwMjEwMTEwNjIy输出:业界支出PDF_20150210110622 – user3714194 2015-02-10 10:00:06

回答

0

有BASE64几个可用的实现。

首先是Java SDK中的一部分:sun.misc.Base64Decoder。您可以使用它,而无需任何外部依赖。使用这个类的缺点是,不建议使用包sun.*,com.sun.*等的类,因为它们不适用于应用程序级别,理论上可以在没有任何通知的情况下进行更改。

其他或多或少的标准实现方式是 javax.xml.bind.DatatypeConverterorg.apache.commons.codec.binary.Base64等需要外部依赖性。

1

至于zatenzu在原来的信息的评论中提到的,这个问题已经有了答案。

然而,这个问题是旧的,并已最upvoted点不在Java中可用“乱用”的,并且需要额外的库解决方案的答案。

所以,我想补充一点,如Java 8中有一个java.util.Base64类,你可以使用转换和从BASE64。

参见:http://docs.oracle.com/javase/8/docs/api/java/util/Base64.html

0

谷歌番石榴是一个不错的选择,

POM配置:

<dependency> 
    <artifactId>guava</artifactId> 
    <groupId>com.google.guava</groupId> 
    <type>jar</type> 
    <version>14.0.1</version> 
</dependency> 

示例代码:

String inputContent = "Hello Việt Nam"; 
String base64String = BaseEncoding.base64().encode(inputContent.getBytes("UTF-8")); 
//decode 
System.out.println("Base64:" + base64String);//SGVsbG8gVmnhu4d0IE5hbQ== 
byte[] contentInBytes = BaseEncoding.base64().decode(base64String); 
System.out.println("Source content: " + new String(contentInBytes, "UTF-8"));//Hello Việt Nam