Class Base64


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

      Constructors 
      Constructor Description
      Base64()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static byte[] decode​(byte[] bytes)
      Декодирование байтового массива.
      static void decode​(java.io.InputStream inputStream, java.io.OutputStream outputStream)
      Декодирование.
      static java.lang.String decode​(java.lang.String str)
      Декодирование строки.
      static java.lang.String decode​(java.lang.String str, java.lang.String charset)
      Декодирование строки.
      static java.lang.String decodeWeb​(java.lang.String base64web)
      Обратная к #encodeWeb().
      static byte[] encode​(byte[] bytes)
      Кодирование байтового массива.
      static byte[] encode​(byte[] bytes, int wrapAt)
      Кодирование байтового массива.
      static java.lang.String encode​(java.io.InputStream inputStream)
      Костыль.
      static void encode​(java.io.InputStream inputStream, java.io.OutputStream outputStream)
      Кодирование.
      static void encode​(java.io.InputStream inputStream, java.io.OutputStream outputStream, int wrapAt)
      Кодирование.
      static java.lang.String encode​(java.lang.String str)
      Кодирование строки.
      static java.lang.String encode​(java.lang.String str, java.lang.String charset)
      Кодирование строки.
      static java.lang.String encodeWeb​(java.lang.String base64)
      Кодирование строки для использования её в вебе, например, при создании url, в get-запросе, например.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • Base64

        public Base64()
    • Method Detail

      • encode

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

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

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

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

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

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

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

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

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

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

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

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

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