Pengekodan Data dalam Base64 Menggunakan Java
Skim pengekodan Base64 menyediakan cara untuk mewakili data binari arbitrari dalam format rentetan ASCII. Artikel ini menunjukkan cara mengekod data dalam Base64 menggunakan Java, menangani cabaran yang dihadapi semasa cuba menggunakan kelas sun.misc.BASE64Encoder.
Penyelesaian Menggunakan Apache Commons Codec
Apabila cuba menggunakan kelas sun.misc.BASE64Encoder dalam Eclipse, ralat berlaku disebabkan oleh penamatan matahari.* pakej di Jawa. Untuk menyelesaikan masalah ini, adalah disyorkan untuk menggunakan perpustakaan Codec Apache Commons sebaliknya.
Import kelas yang betul:
import org.apache.commons.codec.binary.Base64;
Gunakan Base64 kelas sebagai berikut:
byte[] encodedBytes = Base64.encodeBase64("Test".getBytes()); System.out.println("Encoded Bytes: " + new String(encodedBytes)); byte[] decodedBytes = Base64.decodeBase64(encodedBytes); System.out.println("Decoded Bytes: " + new String(decodedBytes));
Penyelesaian Menggunakan Java 8 dan Kemudian
Dalam Java 8 dan versi yang lebih baru, kelas java.util.Base64 menyediakan cara mudah untuk mengekod dan menyahkod data masuk Base64.
Import kelas Base64:
import java.util.Base64;
Gunakan kaedah statik Base64:
byte[] encodedBytes = Base64.getEncoder().encode("Test".getBytes()); System.out.println("Encoded Bytes: " + new String(encodedBytes)); byte[] decodedBytes = Base64.getDecoder().decode(encodedBytes); System.out.println("Decoded Bytes: " + new String(decodedBytes));
Tambahan Nota
Untuk mengekod data sebagai rentetan, gunakan kaedah encodeToString():
String encodedString = Base64.getEncoder().encodeToString("Test".getBytes());
Atas ialah kandungan terperinci Bagaimana untuk Mengekod dan Menyahkod Data Base64 dalam Java Menggunakan Apache Commons Codec dan Java 8?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!