Java 8 - Base64
Con Java 8, Base64 finalmente obtuvo su merecido. Java 8 ahora tiene un codificador y decodificador incorporado para la codificación Base64. En Java 8, podemos usar tres tipos de codificación Base64.
-
Sencillo − La salida se asigna a un conjunto de caracteres que se encuentran en A-Za-z0-9+/. El codificador no agrega ningún avance de línea en la salida y el decodificador rechaza cualquier carácter que no sea A-Za-z0-9+/.
-
URL − La salida se asigna al conjunto de caracteres que se encuentran en A-Za-z0-9+_. La salida es segura para la URL y el nombre de archivo.
-
MIME − La salida se asigna a un formato compatible con MIME. La salida se representa en líneas de no más de 76 caracteres cada una y utiliza un retorno de carro '\r' seguido de un avance de línea '\n' como separador de línea. No hay separador de línea al final de la salida codificada.
Clases anidadas
Sr.No. | Clase anidada y descripción |
---|---|
1 | clase estática Base64.Decoder Esta clase implementa un decodificador para decodificar datos de bytes usando el esquema de codificación Base64 como se especifica en RFC 4648 y RFC 2045. |
2 | clase estática Base64.Encoder Esta clase implementa un codificador para codificar datos de bytes usando el esquema de codificación Base64 como se especifica en RFC 4648 y RFC 2045. |
Métodos
Sr.No. | Nombre y descripción del método |
---|---|
1 | Base64.Decodificador estático getDecoder() Devuelve un Base64.Decoder que decodifica utilizando el esquema de codificación base64 de tipo básico. |
2 | Base64.Encoder estático getEncoder() Devuelve un Base64.Encoder que codifica utilizando el esquema de codificación base64 de tipo básico. |
3 | Base64.Decodificador estático getMimeDecoder() Devuelve un Base64.Decoder que decodifica utilizando el esquema de decodificación base64 de tipo MIME. |
4 | Base64.Encoder estático getMimeEncoder() Devuelve un Base64.Encoder que codifica utilizando el esquema de codificación base64 de tipo MIME. |
5 | Base64.Encoder estático getMimeEncoder(int lineLength, byte[] lineSeparator) Devuelve un Base64.Encoder que codifica utilizando el esquema de codificación base64 de tipo MIME con una longitud de línea y separadores de línea especificados. |
6 | Base64.Decodificador estático getUrlDecoder() Devuelve un Base64.Decoder que decodifica utilizando el esquema de codificación base64 de tipo seguro URL y nombre de archivo. |
7 | Base64.Encoder estático getUrlEncoder() Devuelve un Base64.Encoder que codifica utilizando el esquema de codificación base64 de tipo seguro URL y nombre de archivo. |
Métodos heredados
Esta clase hereda métodos de la siguiente clase −
- java.lang.Objeto
Ejemplo de Base64
Cree el siguiente programa Java utilizando cualquier editor de su elección, digamos C:/> JAVA.
Java8Tester.java
Demostración en vivoimport 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()); } } }
Verificar el resultado
Compile la clase usando javac compilador de la siguiente manera −
C:\JAVA>javac Java8Tester.java
Ahora ejecute Java8Tester de la siguiente manera −
C:\JAVA>java Java8Tester
Debería producir el siguiente resultado −
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
Java