Java 8 - Base64

Java 8 ile Base64 nihayet hakkını aldı. Java 8 artık Base64 kodlaması için dahili kodlayıcı ve kod çözücüye sahiptir. Java 8'de üç tür Base64 kodlaması kullanabiliriz.

  • Simple- Çıktı, A-Za-z0-9 + / içinde bulunan bir dizi karakterle eşlenir. Kodlayıcı, çıktıya herhangi bir satır besleme eklemez ve kod çözücü, A-Za-z0-9 + / dışında herhangi bir karakteri reddeder.

  • URL- Çıktı, A-Za-z0-9 + _ içinde bulunan karakter kümesine eşlenir. Çıktı URL ve dosya adı güvenlidir.

  • MIME- Çıktı, MIME uyumlu biçime eşlenir. Çıktı, her biri 76 karakterden fazla olmayan satırlarla temsil edilir ve satır ayırıcı olarak satır başı '\ r' ve ardından satır besleme '\ n' kullanır. Kodlanan çıktının sonunda satır ayırıcı yok.

Yuvalanmış Sınıflar

Sr.No. İç içe geçmiş sınıf ve Açıklama
1

static class Base64.Decoder

Bu sınıf, RFC 4648 ve RFC 2045'te belirtildiği gibi Base64 kodlama şemasını kullanarak bayt verilerinin kodunu çözmek için bir kod çözücü uygular.

2

static class Base64.Encoder

Bu sınıf, RFC 4648 ve RFC 2045'te belirtildiği gibi Base64 kodlama şemasını kullanarak bayt verilerini kodlamak için bir kodlayıcı uygular.

Yöntemler

Sr.No. Yöntem Adı ve Açıklaması
1

static Base64.Decoder getDecoder()

Temel türdeki base64 kodlama şemasını kullanarak kod çözen bir Base64.Decoder döndürür.

2

static Base64.Encoder getEncoder()

Basic tip base64 kodlama şemasını kullanarak kodlayan bir Base64.Encoder döndürür.

3

static Base64.Decoder getMimeDecoder()

MIME türü base64 kod çözme şemasını kullanarak kodu çözen bir Base64.Decoder döndürür.

4

static Base64.Encoder getMimeEncoder()

MIME türü base64 kodlama şemasını kullanarak kodlayan bir Base64.Encoder döndürür.

5

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

Belirtilen satır uzunluğu ve satır ayırıcılarıyla MIME türü base64 kodlama şemasını kullanarak kodlayan bir Base64.Encoder döndürür.

6

static Base64.Decoder getUrlDecoder()

URL ve Dosya adı güvenli tipte base64 kodlama şemasını kullanarak kodu çözen bir Base64.Decoder döndürür.

7

static Base64.Encoder getUrlEncoder()

URL ve Dosya adı güvenli tip base64 kodlama şemasını kullanarak kodlayan bir Base64.Encoder döndürür.

Miras Alınan Yöntemler

Bu sınıf, aşağıdaki sınıftan yöntemleri miras alır -

  • java.lang.Object

Base64 Örneği

C: /> JAVA gibi herhangi bir düzenleyiciyi kullanarak aşağıdaki Java programını oluşturun.

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());
      }
   }
}

Sonucu Doğrulayın

Kullanarak sınıfı derleyin javac aşağıdaki gibi derleyici -

C:\JAVA>javac Java8Tester.java

Şimdi Java8Tester'i aşağıdaki gibi çalıştırın -

C:\JAVA>java Java8Tester

Aşağıdaki çıktıyı üretmelidir -

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