Home / Class/ Base64 Class — netty Architecture

Base64 Class — netty Architecture

Architecture documentation for the Base64 class in Base64.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  185f00a4_bc52_6a3f_9287_a20b3809bf29["Base64"]
  d7a67d90_6cda_f8ab_09c1_a5a0692512cc["Base64.java"]
  185f00a4_bc52_6a3f_9287_a20b3809bf29 -->|defined in| d7a67d90_6cda_f8ab_09c1_a5a0692512cc
  997f1520_d42d_dfba_9421_b4e1a29c235d["alphabet()"]
  185f00a4_bc52_6a3f_9287_a20b3809bf29 -->|method| 997f1520_d42d_dfba_9421_b4e1a29c235d
  dbcef1d6_0b01_dce3_e545_ec8b64ccb15b["decodabet()"]
  185f00a4_bc52_6a3f_9287_a20b3809bf29 -->|method| dbcef1d6_0b01_dce3_e545_ec8b64ccb15b
  28d394d6_ba92_e853_3823_d4a171e0076f["breakLines()"]
  185f00a4_bc52_6a3f_9287_a20b3809bf29 -->|method| 28d394d6_ba92_e853_3823_d4a171e0076f
  da3cd2e3_2c14_e7b9_1203_5535883263df["ByteBuf()"]
  185f00a4_bc52_6a3f_9287_a20b3809bf29 -->|method| da3cd2e3_2c14_e7b9_1203_5535883263df
  7551fd15_5173_2a99_6a2e_fbfda3e91ed1["encode3to4()"]
  185f00a4_bc52_6a3f_9287_a20b3809bf29 -->|method| 7551fd15_5173_2a99_6a2e_fbfda3e91ed1
  577cfc48_f5ca_0b7f_f4e3_6cee0ea97d4c["encodedBufferSize()"]
  185f00a4_bc52_6a3f_9287_a20b3809bf29 -->|method| 577cfc48_f5ca_0b7f_f4e3_6cee0ea97d4c
  8eb02fd8_9511_e138_cf9c_6693ab98ec58["toInt()"]
  185f00a4_bc52_6a3f_9287_a20b3809bf29 -->|method| 8eb02fd8_9511_e138_cf9c_6693ab98ec58
  6245dd21_9bb5_0721_5376_f09d4f8174b9["toIntBE()"]
  185f00a4_bc52_6a3f_9287_a20b3809bf29 -->|method| 6245dd21_9bb5_0721_5376_f09d4f8174b9
  6174e888_2c16_9857_2fbd_870cebe264c2["toIntLE()"]
  185f00a4_bc52_6a3f_9287_a20b3809bf29 -->|method| 6174e888_2c16_9857_2fbd_870cebe264c2
  17882ff8_ea90_bf2d_118f_81fad4d75770["encode3to4BigEndian()"]
  185f00a4_bc52_6a3f_9287_a20b3809bf29 -->|method| 17882ff8_ea90_bf2d_118f_81fad4d75770
  ab863a79_b507_5845_6e6a_0ab6914875a1["encode3to4LittleEndian()"]
  185f00a4_bc52_6a3f_9287_a20b3809bf29 -->|method| ab863a79_b507_5845_6e6a_0ab6914875a1
  4f7736d1_ec07_0635_3a59_146a5d9a3f83["decodedBufferSize()"]
  185f00a4_bc52_6a3f_9287_a20b3809bf29 -->|method| 4f7736d1_ec07_0635_3a59_146a5d9a3f83
  a1e7380e_6cf5_c68c_4652_9a922c57a6f1["Base64()"]
  185f00a4_bc52_6a3f_9287_a20b3809bf29 -->|method| a1e7380e_6cf5_c68c_4652_9a922c57a6f1

Relationship Graph

Source Code

codec-base/src/main/java/io/netty/handler/codec/base64/Base64.java lines 39–506

public final class Base64 {

    /** Maximum line length (76) of Base64 output. */
    private static final int MAX_LINE_LENGTH = 76;

    /** The equals sign (=) as a byte. */
    private static final byte EQUALS_SIGN = (byte) '=';

    /** The new line character (\n) as a byte. */
    private static final byte NEW_LINE = (byte) '\n';

    private static final byte WHITE_SPACE_ENC = -5; // Indicates white space in encoding

    private static final byte EQUALS_SIGN_ENC = -1; // Indicates equals sign in encoding

    private static byte[] alphabet(Base64Dialect dialect) {
        return ObjectUtil.checkNotNull(dialect, "dialect").alphabet;
    }

    private static byte[] decodabet(Base64Dialect dialect) {
        return ObjectUtil.checkNotNull(dialect, "dialect").decodabet;
    }

    private static boolean breakLines(Base64Dialect dialect) {
        return ObjectUtil.checkNotNull(dialect, "dialect").breakLinesByDefault;
    }

    public static ByteBuf encode(ByteBuf src) {
        return encode(src, Base64Dialect.STANDARD);
    }

    public static ByteBuf encode(ByteBuf src, Base64Dialect dialect) {
        return encode(src, breakLines(dialect), dialect);
    }

    public static ByteBuf encode(ByteBuf src, Base64Dialect dialect, boolean addPadding) {
        return encode(src, breakLines(dialect), dialect, addPadding);
    }

    public static ByteBuf encode(ByteBuf src, boolean breakLines) {
        return encode(src, breakLines, Base64Dialect.STANDARD);
    }

    public static ByteBuf encode(ByteBuf src, boolean breakLines, boolean addPadding) {
        return encode(src, breakLines, Base64Dialect.STANDARD, addPadding);
    }

    public static ByteBuf encode(ByteBuf src, boolean breakLines, Base64Dialect dialect) {
        ObjectUtil.checkNotNull(src, "src");

        ByteBuf dest = encode(src, src.readerIndex(), src.readableBytes(), breakLines, dialect);
        src.readerIndex(src.writerIndex());
        return dest;
    }

    public static ByteBuf encode(ByteBuf src, boolean breakLines, Base64Dialect dialect, boolean addPadding) {
        ObjectUtil.checkNotNull(src, "src");

        ByteBuf dest = encode(src, src.readerIndex(), src.readableBytes(), breakLines, dialect, addPadding);
        src.readerIndex(src.writerIndex());
        return dest;
    }

    public static ByteBuf encode(ByteBuf src, int off, int len) {
        return encode(src, off, len, Base64Dialect.STANDARD);
    }

    public static ByteBuf encode(ByteBuf src, int off, int len, Base64Dialect dialect) {
        return encode(src, off, len, breakLines(dialect), dialect);
    }

    public static ByteBuf encode(
            ByteBuf src, int off, int len, boolean breakLines) {
        return encode(src, off, len, breakLines, Base64Dialect.STANDARD);
    }

    public static ByteBuf encode(
            ByteBuf src, int off, int len, boolean breakLines, Base64Dialect dialect) {
        return encode(src, off, len, breakLines, dialect, src.alloc(), true);
    }

Frequently Asked Questions

What is the Base64 class?
Base64 is a class in the netty codebase, defined in codec-base/src/main/java/io/netty/handler/codec/base64/Base64.java.
Where is Base64 defined?
Base64 is defined in codec-base/src/main/java/io/netty/handler/codec/base64/Base64.java at line 39.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free