2012-02-20 71 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