Java 8 - Base64

Avec Java 8, Base64 a enfin raison. Java 8 a maintenant un encodeur et un décodeur intégrés pour l'encodage Base64. Dans Java 8, nous pouvons utiliser trois types d'encodage Base64.

  • Simple- La sortie est mappée à un ensemble de caractères se trouvant dans A-Za-z0-9 + /. L'encodeur n'ajoute pas de saut de ligne en sortie et le décodeur rejette tout caractère autre que A-Za-z0-9 + /.

  • URL- La sortie est mappée à un ensemble de caractères se trouvant dans A-Za-z0-9 + _. La sortie est sécurisée par URL et par nom de fichier.

  • MIME- La sortie est mappée au format convivial MIME. La sortie est représentée par des lignes de 76 caractères maximum chacune et utilise un retour chariot '\ r' suivi d'un saut de ligne '\ n' comme séparateur de ligne. Aucun séparateur de ligne n'est présent à la fin de la sortie codée.

Classes imbriquées

N ° Sr. Classe imbriquée et description
1

static class Base64.Decoder

Cette classe implémente un décodeur pour décoder les données d'octets en utilisant le schéma de codage Base64 tel que spécifié dans RFC 4648 et RFC 2045.

2

static class Base64.Encoder

Cette classe implémente un encodeur pour coder les données d'octets à l'aide du schéma de codage Base64 tel que spécifié dans les RFC 4648 et RFC 2045.

Méthodes

N ° Sr. Nom et description de la méthode
1

static Base64.Decoder getDecoder()

Renvoie un Base64.Decoder qui décode à l'aide du schéma de codage base64 de type Basic.

2

static Base64.Encoder getEncoder()

Renvoie un Base64.Encoder qui encode à l'aide du schéma de codage base64 de type Basic.

3

static Base64.Decoder getMimeDecoder()

Renvoie un Base64.Decoder qui décode à l'aide du schéma de décodage de type MIME base64.

4

static Base64.Encoder getMimeEncoder()

Renvoie un Base64.Encoder qui encode à l'aide du schéma de codage base64 de type MIME.

5

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

Renvoie un Base64.Encoder qui encode à l'aide du schéma de codage base64 de type MIME avec une longueur de ligne et des séparateurs de ligne spécifiés.

6

static Base64.Decoder getUrlDecoder()

Renvoie un Base64.Decoder qui décode à l'aide du schéma de codage base64 de type sécurisé URL et Nom de fichier.

sept

static Base64.Encoder getUrlEncoder()

Renvoie un Base64.Encoder qui code à l'aide du schéma de codage base64 de type sécurisé URL et Nom de fichier.

Méthodes héritées

Cette classe hérite des méthodes de la classe suivante -

  • java.lang.Object

Exemple Base64

Créez le programme Java suivant en utilisant n'importe quel éditeur de votre choix, disons 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());
      }
   }
}

Vérifiez le résultat

Compilez la classe en utilisant javac compilateur comme suit -

C:\JAVA>javac Java8Tester.java

Exécutez maintenant le Java8Tester comme suit -

C:\JAVA>java Java8Tester

Il devrait produire la sortie suivante -

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