Package ru.bgcrm.util.io
Class Base64
java.lang.Object
ru.bgcrm.util.io.Base64
Всякие утильные методы Base64. Используют для кодирования/декодирования
стримы Base64OutputStream/Base64InputStream.
Стандартного механизма подобного нету, только в разных сторонних либах,
типа остермиллер/джаспер/org.apache.batik.блабла/sun.com.блабла/org.wc3.блабла,
по проекту сотни использований разных этих методов. Надо использовать один
стандартный.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic byte[]decode(byte[] bytes) Декодирование байтового массива.static voiddecode(InputStream inputStream, OutputStream outputStream) Декодирование.static StringДекодирование строки.static StringДекодирование строки.static StringОбратная к.invalid reference
#encodeWeb()static byte[]encode(byte[] bytes) Кодирование байтового массива.static byte[]encode(byte[] bytes, int wrapAt) Кодирование байтового массива.static Stringencode(InputStream inputStream) Костыль.static voidencode(InputStream inputStream, OutputStream outputStream) Кодирование.static voidencode(InputStream inputStream, OutputStream outputStream, int wrapAt) Кодирование.static StringКодирование строки.static StringКодирование строки.static StringКодирование строки для использования её в вебе, например, при создании url, в get-запросе, например.
-
Constructor Details
-
Base64
public Base64()
-
-
Method Details
-
encode
Кодирование строки. Входная строка преобразуется перед кодированием в поток байтов по ДЕФОЛТНОЙ кодировке.- Parameters:
str- Исходная строка.- Returns:
- закодированная строка.
- Throws:
RuntimeException- При любых ошибках фатальных.
-
encode
Кодирование строки. Входная строка преобразуется в поток байтов по указанной кодировке.- Parameters:
str- Исходная строка.charset- Имя кодировки.- Returns:
- закодированная строка.
- Throws:
RuntimeException- При любых ошибках фатальных.
-
decode
Декодирование строки. Полученный поток байтов преобразуется в строку по ДЕФОЛТНОЙ кодировке.- Parameters:
str- зашифрованная строка.- Returns:
- расшифрованная строка.
- Throws:
RuntimeException- При любых ошибках фатальных.
-
decode
Декодирование строки. Полученный поток байтов преобразуется в строку по указанной кодировке.- Parameters:
str- зашифрованная строка.charset- Имя кодировки.- Returns:
- расшифрованная строка.
- Throws:
RuntimeException- При любых ошибках фатальных.
-
encode
Кодирование байтового массива. Для больших данных возьми-каBase64OutputStreamлучше.- Parameters:
bytes- исходный массив.- Returns:
- зашифрованный массив.
- Throws:
RuntimeException- При любых ошибках фатальных внутренних.
-
encode
Кодирование байтового массива. Каждые wrapAt байт переход на новую строку (0 -отключение). Для больших данных возьми-каBase64OutputStreamлучше.- Parameters:
bytes- исходный массив.wrapAt- максимальная длина строки для зашифрованных данных (0 -отключение).- Returns:
- зашифрованный массив.
- Throws:
RuntimeException- При любых ошибках фатальных внутренних.
-
decode
Декодирование байтового массива. Для больших данных возьми-каBase64InputStreamлучше.- Parameters:
bytes- зашифрованная последовательность.- Returns:
- расшифрованные байты.
- Throws:
RuntimeException- При любых ошибках фатальных внутренних.
-
encode
Кодирование. Данные из входного стрима кодируются в выходной стрим. Входной поток читается до разрушения. Ничего внутри не закрывается. Ничего внутри не флушится.- 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
Декодирование. Входной поток читается до разрушения. Ничего внутри не закрывается. Ничего внутри не флушится.- Parameters:
inputStream- входной стрим зашифрованный.outputStream- выходной стрим, куда пишется расшифрованный поток байтов.- Throws:
IOException- при ошибке I/O.
-
encode
Костыль. Синтетическая функция превращает стрим (например, файловый) в строку закодированную. Используется при передаче файлов, например.- Parameters:
inputStream- стрим незакодированный- Returns:
- строка базе64-закодированная.
- Throws:
IOException
-
encodeWeb
Кодирование строки для использования её в вебе, например, при создании url, в get-запросе, например. Иначе символы типа + рвут все параметры. Стандартом Base64-кодирования URL адресов, признается вариант, когда символы '+' и '/' заменяются, соответственно, на '-' и '_' (RFC3548, раздел 4).- Parameters:
base64- входящая строка в виде base64- Returns:
- выходная строка для веба
-
decodeWeb
Обратная к.invalid reference
#encodeWeb()- Parameters:
base64web- входящая строка в виде base64-web- Returns:
- выходная строка для расшифрования из base64
- Throws:
IOException
-