在Java Base64 Decode中,Base64是一種二進位到文字格式的編碼方案,表示二進位數據,透過轉換為基數64描述,以可列印的ASCII字串格式的形式出現。這些Base64資料可以根據使用者的需求並藉助一定的方法進行編碼或解碼。為此,導入 java.util.Base64 套件是必不可少的一步。對這些資料進行編碼和解碼的主要優點是其隱私性和安全性。在以下部分中,將詳細描述每種方法。
開始您的免費軟體開發課程
網頁開發、程式語言、軟體測試及其他
聲明:
以下是Base64解碼的聲明:
public static class Base64.Decoder extends Object
現在,讓我們來看看 Base64 解碼的工作原理。
以下是Java Base64解碼的不同方法。
範例:
代碼:
import java.util.Base64; public class Base64DecodeExample { public static void main(String[] args) { // encoder Base64.Encoder enc = Base64.getEncoder(); // Encode byte array byte arr[] = {'a'}; byte arr2[] = enc.encode(arr); System.out.println("Array encoded is: "+ arr2); // decoder Base64.Decoder dec = Base64.getDecoder(); // Decode byte array String ds = new String(dec.decode(arr2)); System.out.println("Array decoded is:"+ds); } }
輸出:
執行程式碼時會列印數組的編碼和解碼結果。
範例:
代碼:
import java.util.Base64; public class Base64DecodeExample { public static void main(String[] args) { // encoder Base64.Encoder enc = Base64.getEncoder(); String s = enc.encodeToString("EduCBA".getBytes()); System.out.println("String encoded is: "+ s); // decoder Base64.Decoder dec = Base64.getDecoder(); // Decode string String ds = new String(dec.decode(s)); System.out.println("String decoded is:"+ds); }}
輸出:
執行程式碼時會列印字串的編碼和解碼結果。
範例:
代碼:
import java.util.Base64; public class Base64DecodeExample { public static void main(String[] args) { // encoder Base64.Encoder enc = Base64.getEncoder(); byte arr[] = {'1'}; byte arr2[] = enc.encode(arr); byte arr3[] = new byte[5]; System.out.println("Array encoded is: "+ arr2); // decoder Base64.Decoder dec = Base64.getDecoder(); System.out.println("Array decoded is:"+ dec.decode(arr2,arr3)); }}
輸出:
執行程式碼時會列印位元組數組的編碼和解碼結果。
範例:
代碼:
import java.nio.ByteBuffer; import java.util.Base64; public class Base64DecodeExample { public static void main(String[] args) { // encoder Base64.Encoder enc = Base64.getEncoder(); String st = "Happy weekend"; ByteBuffer buff= ByteBuffer.wrap(st.getBytes()); ByteBuffer buff2 = enc.encode(buff); System.out.print("Encoded: "); while(buff2.hasRemaining()){ char ch = (char) buff2.get(); System.out.print(ch); } buff2.clear(); // decoder Base64.Decoder dec = Base64.getDecoder(); ByteBuffer buff3 = dec.decode(buff2); System.out.print(" Decoded: "); while(buff3.hasRemaining()){ char ch3 = (char) buff3.get(); System.out.print(ch3); } buff2.clear(); } }
輸出:
執行程式碼時列印的位元組緩衝區的編碼和解碼結果。
Example
Code:
import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.Base64; public class Base64DecodeExample { public static void main(String[] args) throws IOException { try (InputStream inpt = new FileInputStream("F:\\EduCBA\\April\\Edu.txt")) { Base64.Encoder enc = Base64.getEncoder(); OutputStream opst = enc.wrap(new FileOutputStream("F:\\EduCBA\\April\\Eduout.txt")); int b1; while ((b1 = inpt.read()) != -1) { opst.write(b1); } opst.close(); } catch (IOException ie) { System.err.printf("I/O exception", ie.getMessage()); } try (FileOutputStream fopst = new FileOutputStream("F:\\EduCBA\\April\\Eduou.txt")) { Base64.Decoder dec = Base64.getDecoder(); InputStream inpt2 = dec.wrap(new FileInputStream("F:\\EduCBA\\April\\Eduout.txt")); int b1; while ((b1 = inpt2.read()) != -1) fopst.write(b1); inpt2.close(); } catch (IOException ie) { System.err.printf("I/O exception", ie.getMessage()); } } }
Output:
In this program, create three create text files, Edu, Eduout, Eduou, in a location for storing data, encoded data, and decoded data respectively. The below figure is the input data.
The encoded and decoded data will be written into the two other files on executing the code, as shown below.
以上是Java Base64 解碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!