java.lang.Object
net.i2p.data.Base32

public class Base32extends Object
Encodes and decodes to and from Base32 notation. Ref: RFC 3548

Don't bother with '=' padding characters on encode or accept them on decode (i.e. don't require 5-character groups). No whitespace allowed.

Decode accepts upper or lower case.

  • Method Details

    • main

      public static void main(String[] args)
      Run the Base32 command-line utility.
      Parameters:
      args - the subcommand and its operands, as documented by the usage message printed when args is empty
    • encode

      public static String encode(String source)
      Returns lower case. Does not add trailing '='.
      Parameters:
      source - if null will return ""
      Returns:
      the Base32-encoded string, or "" if source is null
    • encode

      public static String encode(byte[] source)
      Returns lower case. Does not add trailing '='.
      Parameters:
      source - The data to convert non-null
      Returns:
      the Base32-encoded string
    • decodeToString

      public static String decodeToString(String s)
      Decodes data from Base32 notation and returns it as a string. Case-insensitive. Does not allow trailing '='.
      Parameters:
      s - the string to decode, if null returns null
      Returns:
      The data as a string or null on failure
    • decode

      public static byte[] decode(String s)
      Case-insensitive. Does not allow trailing '='.
      Parameters:
      s - non-null
      Returns:
      decoded data, null on error