Class Base64

java.lang.Object
ru.bgcrm.util.io.Base64

public class Base64 extends Object
Всякие утильные методы Base64. Используют для кодирования/декодирования стримы Base64OutputStream/Base64InputStream. Стандартного механизма подобного нету, только в разных сторонних либах, типа остермиллер/джаспер/org.apache.batik.блабла/sun.com.блабла/org.wc3.блабла, по проекту сотни использований разных этих методов. Надо использовать один стандартный.
  • Constructor Details

    • Base64

      public Base64()
  • Method Details

    • encode

      public static String encode(String str) throws RuntimeException
      Кодирование строки. Входная строка преобразуется перед кодированием в поток байтов по ДЕФОЛТНОЙ кодировке.
      Parameters:
      str - Исходная строка.
      Returns:
      закодированная строка.
      Throws:
      RuntimeException - При любых ошибках фатальных.
    • encode

      public static String encode(String str, String charset) throws RuntimeException
      Кодирование строки. Входная строка преобразуется в поток байтов по указанной кодировке.
      Parameters:
      str - Исходная строка.
      charset - Имя кодировки.
      Returns:
      закодированная строка.
      Throws:
      RuntimeException - При любых ошибках фатальных.
    • decode

      public static String decode(String str) throws RuntimeException
      Декодирование строки. Полученный поток байтов преобразуется в строку по ДЕФОЛТНОЙ кодировке.
      Parameters:
      str - зашифрованная строка.
      Returns:
      расшифрованная строка.
      Throws:
      RuntimeException - При любых ошибках фатальных.
    • decode

      public static String decode(String str, String charset) throws RuntimeException
      Декодирование строки. Полученный поток байтов преобразуется в строку по указанной кодировке.
      Parameters:
      str - зашифрованная строка.
      charset - Имя кодировки.
      Returns:
      расшифрованная строка.
      Throws:
      RuntimeException - При любых ошибках фатальных.
    • encode

      public static byte[] encode(byte[] bytes) throws RuntimeException
      Кодирование байтового массива. Для больших данных возьми-ка Base64OutputStream лучше.
      Parameters:
      bytes - исходный массив.
      Returns:
      зашифрованный массив.
      Throws:
      RuntimeException - При любых ошибках фатальных внутренних.
    • encode

      public static byte[] encode(byte[] bytes, int wrapAt) throws RuntimeException
      Кодирование байтового массива. Каждые wrapAt байт переход на новую строку (0 -отключение). Для больших данных возьми-ка Base64OutputStream лучше.
      Parameters:
      bytes - исходный массив.
      wrapAt - максимальная длина строки для зашифрованных данных (0 -отключение).
      Returns:
      зашифрованный массив.
      Throws:
      RuntimeException - При любых ошибках фатальных внутренних.
    • decode

      public static byte[] decode(byte[] bytes) throws RuntimeException
      Декодирование байтового массива. Для больших данных возьми-ка Base64InputStream лучше.
      Parameters:
      bytes - зашифрованная последовательность.
      Returns:
      расшифрованные байты.
      Throws:
      RuntimeException - При любых ошибках фатальных внутренних.
    • encode

      public static void encode(InputStream inputStream, OutputStream outputStream) throws IOException
      Кодирование. Данные из входного стрима кодируются в выходной стрим. Входной поток читается до разрушения. Ничего внутри не закрывается. Ничего внутри не флушится.
      Parameters:
      inputStream - входной стрим исходный.
      outputStream - выходной стрим куда пишется зашифрованное.
      Throws:
      IOException - при ошибке I/O.
    • encode

      public static void encode(InputStream inputStream, OutputStream outputStream, int wrapAt) throws IOException
      Кодирование. Данные из входного стрима кодируются в выходной стрим. Каждые wrapAt байт переход на новую строку (0 -отключение). Входной поток читается до разрушения. Ничего внутри не закрывается. Ничего внутри не флушится.
      Parameters:
      inputStream - входной стрим исходный.
      outputStream - выходной стрим куда пишется зашифрованное.
      wrapAt - максимальная длина строки для зашифрованных данных (0 -отключение).
      Throws:
      IOException - при ошибке I/O.
    • decode

      public static void decode(InputStream inputStream, OutputStream outputStream) throws IOException
      Декодирование. Входной поток читается до разрушения. Ничего внутри не закрывается. Ничего внутри не флушится.
      Parameters:
      inputStream - входной стрим зашифрованный.
      outputStream - выходной стрим, куда пишется расшифрованный поток байтов.
      Throws:
      IOException - при ошибке I/O.
    • encode

      public static String encode(InputStream inputStream) throws IOException
      Костыль. Синтетическая функция превращает стрим (например, файловый) в строку закодированную. Используется при передаче файлов, например.
      Parameters:
      inputStream - стрим незакодированный
      Returns:
      строка базе64-закодированная.
      Throws:
      IOException
    • encodeWeb

      public static String encodeWeb(String base64)
      Кодирование строки для использования её в вебе, например, при создании url, в get-запросе, например. Иначе символы типа + рвут все параметры. Стандартом Base64-кодирования URL адресов, признается вариант, когда символы '+' и '/' заменяются, соответственно, на '-' и '_' (RFC3548, раздел 4).
      Parameters:
      base64 - входящая строка в виде base64
      Returns:
      выходная строка для веба
    • decodeWeb

      public static String decodeWeb(String base64web)
      Обратная к
      invalid reference
      #encodeWeb()
      .
      Parameters:
      base64web - входящая строка в виде base64-web
      Returns:
      выходная строка для расшифрования из base64
      Throws:
      IOException