Java 8 - Base64

Dengan Java 8, Base64 akhirnya mendapatkan haknya. Java 8 sekarang memiliki encoder dan decoder bawaan untuk encoding Base64. Di Java 8, kita dapat menggunakan tiga jenis pengkodean Base64.

  • Simple- Output dipetakan ke satu set karakter yang terletak di A-Za-z0-9 + /. Pembuat enkode tidak menambahkan umpan baris apa pun pada keluaran, dan dekoder menolak karakter apa pun selain A-Za-z0-9 + /.

  • URL- Output dipetakan ke set karakter yang terletak di A-Za-z0-9 + _. Outputnya adalah URL dan nama file yang aman.

  • MIME- Output dipetakan ke format ramah MIME. Output direpresentasikan dalam baris yang masing-masing tidak lebih dari 76 karakter, dan menggunakan carriage return '\ r' diikuti dengan linefeed '\ n' sebagai pemisah baris. Tidak ada pemisah baris di akhir keluaran yang dikodekan.

Kelas Bersarang

Sr.No. Kelas & Deskripsi bertingkat
1

static class Base64.Decoder

Kelas ini mengimplementasikan dekoder untuk mendekode data byte menggunakan skema pengkodean Base64 seperti yang ditentukan dalam RFC 4648 dan RFC 2045.

2

static class Base64.Encoder

Kelas ini mengimplementasikan encoder untuk encoding data byte menggunakan skema encoding Base64 seperti yang ditentukan dalam RFC 4648 dan RFC 2045.

Metode

Sr.No. Nama Metode & Deskripsi
1

static Base64.Decoder getDecoder()

Mengembalikan Base64.Decoder yang mendekode menggunakan skema pengkodean base64 tipe Dasar.

2

static Base64.Encoder getEncoder()

Mengembalikan Base64.Encoder yang menyandikan menggunakan skema penyandian base64 tipe Dasar.

3

static Base64.Decoder getMimeDecoder()

Mengembalikan Base64.Decoder yang mendekode menggunakan skema dekode base64 jenis MIME.

4

static Base64.Encoder getMimeEncoder()

Mengembalikan Base64.Encoder yang menyandikan menggunakan skema penyandian base64 jenis MIME.

5

static Base64.Encoder getMimeEncoder(int lineLength, byte[] lineSeparator)

Mengembalikan Base64.Encoder yang menyandikan menggunakan skema penyandian base64 jenis MIME dengan panjang baris dan pemisah baris yang ditentukan.

6

static Base64.Decoder getUrlDecoder()

Mengembalikan Base64.Decoder yang mendekode menggunakan URL dan nama file skema pengkodean base64 tipe aman.

7

static Base64.Encoder getUrlEncoder()

Mengembalikan Base64.Encoder yang menyandikan menggunakan URL dan nama file skema penyandian base64 tipe aman.

Metode yang Diwarisi

Kelas ini mewarisi metode dari kelas berikut -

  • java.lang.Object

Contoh Base64

Buat program Java berikut menggunakan editor pilihan Anda di katakan C: /> JAVA.

Java8Tester.java

import java.util.Base64;
import java.util.UUID;
import java.io.UnsupportedEncodingException;

public class HelloWorld {

   public static void main(String args[]) {

      try {
		
         // Encode using basic encoder
         String base64encodedString = Base64.getEncoder().encodeToString(
            "TutorialsPoint?java8".getBytes("utf-8"));
         System.out.println("Base64 Encoded String (Basic) :" + base64encodedString);
		
         // Decode
         byte[] base64decodedBytes = Base64.getDecoder().decode(base64encodedString);
		
         System.out.println("Original String: " + new String(base64decodedBytes, "utf-8"));
         base64encodedString = Base64.getUrlEncoder().encodeToString(
            "TutorialsPoint?java8".getBytes("utf-8"));
         System.out.println("Base64 Encoded String (URL) :" + base64encodedString);
		
         StringBuilder stringBuilder = new StringBuilder();
		
         for (int i = 0; i < 10; ++i) {
            stringBuilder.append(UUID.randomUUID().toString());
         }
		
         byte[] mimeBytes = stringBuilder.toString().getBytes("utf-8");
         String mimeEncodedString = Base64.getMimeEncoder().encodeToString(mimeBytes);
         System.out.println("Base64 Encoded String (MIME) :" + mimeEncodedString);

      } catch(UnsupportedEncodingException e) {
         System.out.println("Error :" + e.getMessage());
      }
   }
}

Verifikasi Hasilnya

Kompilasi kelas menggunakan javac kompiler sebagai berikut -

C:\JAVA>javac Java8Tester.java

Sekarang jalankan Java8Tester sebagai berikut -

C:\JAVA>java Java8Tester

Ini harus menghasilkan keluaran berikut -

Base64 Encoded String (Basic) :VHV0b3JpYWxzUG9pbnQ/amF2YTg=
Original String: TutorialsPoint?java8
Base64 Encoded String (URL) :VHV0b3JpYWxzUG9pbnQ_amF2YTg=
Base64 Encoded String (MIME) :YmU3NWY2ODktNGM5YS00ODlmLWI2MTUtZTVkOTk2YzQ1Njk1Y2EwZTg2OTEtMmRiZC00YTQ1LWJl
NTctMTI1MWUwMTk0ZWQyNDE0NDAwYjgtYTYxOS00NDY5LTllYTctNjc1YzE3YWJhZTk1MTQ2MDQz
NDItOTAyOC00ZWI0LThlOTYtZWU5YzcwNWQyYzVhMTQxMWRjYTMtY2MwNi00MzU0LTg0MTgtNGQ1
MDkwYjdiMzg2ZTY0OWU5MmUtZmNkYS00YWEwLTg0MjQtYThiOTQxNDQ2YzhhNTVhYWExZjItNjU2
Mi00YmM4LTk2ZGYtMDE4YmY5ZDZhMjkwMzM3MWUzNDMtMmQ3MS00MDczLWI0Y2UtMTQxODE0MGU5
YjdmYTVlODUxYzItN2NmOS00N2UyLWIyODQtMThlMWVkYTY4M2Q1YjE3YTMyYmItZjllMS00MTFk
LWJiM2UtM2JhYzUxYzI5OWI4