2012-02-20 148 views
2

有没有什么办法像使用Java一样在.NET中转换Base64字符串?我怎样才能做到这一点?从Base 64转换为Java字符串

这里是.NET例如:

Convert.FromBase64String 

回答

5

我觉得它在Java中奇怪的是,每当有人问起基地64编码/解码的唯一给出答案要么使用Apache编解码器库,要使用不应该使用的旧com.sun类,或者假定它位于应用程序服务器(如Tomcat提供的应用程序服务器)中。

自从在类javax.xml.bind.DatatypeConverter类中引入Jaxb 1.0后,标准JDK提供了base 64支持。

因此,如果您使用的是Java 6或更新版本(当Jaxb1.0直接添加到JDK中时,在此之前可用作参考),则不需要使用第三方组件支持base 64,您可以使用JDK内置的内容。

+0

有'<%@ page import =“sun.misc.BASE64Decoder”%>'。是这样吗? – Nore 2012-02-21 03:34:35

+0

嗯,你是对的!谢谢你,我已经试过了,它的作品! :) – Nore 2012-02-21 07:26:07

0

我想你想解码base64encoded字符串...你可以使用这个..

BASE64Decoder decoder = new BASE64Decoder(); 
byte[] decodedBytes = decoder.decodeBuffer(yourString.getBytes()); 
+0

以及如何从该字节获取字符串值? – Nore 2012-02-20 09:48:28

+1

new String(byteArray); – 2012-02-20 09:52:55

+0

好的,谢谢:) – Nore 2012-02-20 09:53:33

1
  1. 下载“公地编解码器-1.3“来自Jakara网站:Apache Commons Codec
  2. 将lib文件放在lib文件夹中
  3. 传递base64Message的函数来获取解码的字节

byte[] decodedBytes = Base64.decode(base64Message);
String decodedString = new String(decodedBytes);

+0

以及如何从该字节获取字符串值? – Nore 2012-02-20 09:51:05