Java : Base64 con ejemplos

Base64 (Java SE 23 & JDK 23) en Java con ejemplos.
Encontrará muestras de código para la mayoría de los métodos Base64.

Nota :


Summary

Esta clase consta exclusivamente de métodos estáticos para obtener codificadores y decodificadores para el esquema de codificación Base64. La implementación de esta clase admite los siguientes tipos de Base64, tal como se especifica en RFC 4648 y RFC 2045. (Traducción automática)

Class diagram

final var encoder = Base64.getEncoder();

final byte[] src = {1, 2, 3, 4, 5, 6, 7};
final var dst = encoder.encodeToString(src);

System.out.println(dst); // AQIDBAUGBw==

final var decoder = Base64.getDecoder();

final var decoded = decoder.decode(dst);
System.out.println(Arrays.toString(decoded)); // [1, 2, 3, 4, 5, 6, 7]

Methods

static Base64.Decoder getDecoder ()

Devuelve un Base64.Decoder que decodifica utilizando el esquema de codificación base64 de tipo básico. (Traducción automática)

final var encoder = Base64.getEncoder();

final byte[] src = {1, 2, 3, 4, 5, 6, 7};
final var dst = encoder.encodeToString(src);

System.out.println(dst); // AQIDBAUGBw==

final var decoder = Base64.getDecoder();

final var decoded = decoder.decode(dst);
System.out.println(Arrays.toString(decoded)); // [1, 2, 3, 4, 5, 6, 7]

static Base64.Encoder getEncoder ()

Devuelve un Base64.Encoder que codifica utilizando el esquema de codificación base64 de tipo básico. (Traducción automática)

final var encoder = Base64.getEncoder();

final byte[] src = {1, 2, 3, 4, 5, 6, 7};
final var dst = encoder.encodeToString(src);

System.out.println(dst); // AQIDBAUGBw==

final var decoder = Base64.getDecoder();

final var decoded = decoder.decode(dst);
System.out.println(Arrays.toString(decoded)); // [1, 2, 3, 4, 5, 6, 7]

static Base64.Decoder getMimeDecoder ()

Devuelve un Base64.Decoder que decodifica utilizando el esquema de decodificación base64 de tipo MIME. (Traducción automática)

final var src = new byte[130];
for (int i = 0; i < src.length; i++) {
    src[i] = (byte) (i % 100);
}

// [0, 1, 2, 3, 4, ... 96, 97, 98, 99, 0, 1, 2, ... 25, 26, 27, 28, 29]
System.out.println(Arrays.toString(src));

{
    final var encoder = Base64.getMimeEncoder();
    final var dst = encoder.encodeToString(src);

    // The encoder for MIME results lines of no more than 76 characters each.

    // AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4
    // OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiYwABAgMEBQYHCAkKCwwN
    // Dg8QERITFBUWFxgZGhscHQ==
    System.out.println(dst);

    final var decoder = Base64.getMimeDecoder();
    final var decoded = decoder.decode(dst);

    System.out.println(Arrays.equals(src, decoded)); // true
}

{
    final var encoder = Base64.getEncoder();
    final var dst = encoder.encodeToString(src);

    // The normal encoder results one line.

    // AAECAwQFBgc ... xgZGhscHQ==
    System.out.println(dst);
}

static Base64.Encoder getMimeEncoder ()

Devuelve un Base64.Encoder que codifica utilizando el esquema de codificación base64 de tipo MIME. (Traducción automática)

final var src = new byte[130];
for (int i = 0; i < src.length; i++) {
    src[i] = (byte) (i % 100);
}

// [0, 1, 2, 3, 4, ... 96, 97, 98, 99, 0, 1, 2, ... 25, 26, 27, 28, 29]
System.out.println(Arrays.toString(src));

{
    final var encoder = Base64.getMimeEncoder();
    final var dst = encoder.encodeToString(src);

    // The encoder for MIME results lines of no more than 76 characters each.

    // AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4
    // OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiYwABAgMEBQYHCAkKCwwN
    // Dg8QERITFBUWFxgZGhscHQ==
    System.out.println(dst);

    final var decoder = Base64.getMimeDecoder();
    final var decoded = decoder.decode(dst);

    System.out.println(Arrays.equals(src, decoded)); // true
}

{
    final var encoder = Base64.getEncoder();
    final var dst = encoder.encodeToString(src);

    // The normal encoder results one line.

    // AAECAwQFBgc ... xgZGhscHQ==
    System.out.println(dst);
}

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

Devuelve un Base64.Encoder que codifica utilizando el esquema de codificación base64 de tipo MIME con longitud de línea y separadores de línea especificados. (Traducción automática)

final byte[] src = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13};

final var encoder = Base64.getMimeEncoder(8, " ".getBytes());
final var dst = encoder.encodeToString(src);

// AQIDBAUG BwgJCgsM DQ==
System.out.println(dst);

static Base64.Decoder getUrlDecoder ()

Devuelve un Base64.Decoder que decodifica utilizando el esquema de codificación base64 de tipo seguro para URL y nombre de archivo. (Traducción automática)

final byte[] src = {105, -65, -65, 113};

{
    // The normal encoder.
    final var encoder = Base64.getEncoder();
    final var dst = encoder.encodeToString(src);

    // ab+/cQ==
    System.out.println(dst);
}
{
    // The encoder for URL and Filename safe.
    final var encoder = Base64.getUrlEncoder();
    final var dst = encoder.encodeToString(src);

    // ab-_cQ==
    System.out.println(dst);

    final var decoder = Base64.getUrlDecoder();
    final var decoded = decoder.decode(dst);

    // [105, -65, -65, 113]
    System.out.println(Arrays.toString(decoded));
}

static Base64.Encoder getUrlEncoder ()

Devuelve un Base64.Encoder que codifica utilizando el esquema de codificación base64 de tipo seguro para URL y nombre de archivo. (Traducción automática)

final byte[] src = {105, -65, -65, 113};

{
    // The normal encoder.
    final var encoder = Base64.getEncoder();
    final var dst = encoder.encodeToString(src);

    // ab+/cQ==
    System.out.println(dst);
}
{
    // The encoder for URL and Filename safe.
    final var encoder = Base64.getUrlEncoder();
    final var dst = encoder.encodeToString(src);

    // ab-_cQ==
    System.out.println(dst);

    final var decoder = Base64.getUrlDecoder();
    final var decoded = decoder.decode(dst);

    // [105, -65, -65, 113]
    System.out.println(Arrays.toString(decoded));
}

Related posts

  • Ejemplos de API
To top of page