code: static public byte[] decode(String base32) {
          String string = base32.replaceAll("\\s", "");  // remove all white space
          int length = string.length();
          byte[] bytes = new byte[(int) (length * 5.0 / 8.0)];
          for (int i = 0; i < length - 1; i++) {
              char character = string.charAt(i);
              byte chunk = (byte) lookupTable.indexOf((int) character);
              if (chunk < 0) throw new NumberFormatException("Attempted to decode a string that is not base 32: " + string);
              decodeCharacter(chunk, i, bytes, 0);
          }
          if (length > 0) {
              char character = string.charAt(length - 1);
              byte chunk = (byte) lookupTable.indexOf((int) character);
              if (chunk < 0) throw new NumberFormatException("Attempted to decode a string that is not base 32: " + string);
              decodeLastCharacter(chunk, length - 1, bytes, 0);
          }
          return bytes;
      }
docs: This function decodes a base 32 string into its corresponding byte array.
  
  @param base32 The base 32 encoded string.
  @return The corresponding byte array.