Класс Base64.Decoder
- java.lang.Object
- java.util.Base64.Decoder
- Включающий класс:
- Base64
public static class Base64.Decoder extends Object
Этот класс реализует декодер для декодирования данных байтов с использованием схемы кодирования Base64, как указано в RFC 4648 и RFC 2045.
Символ заполнения Base64 '=' принимается и интерпретируется как конец закодированных данных байтов, но не является обязательным. Таким образом, если конечная единица закодированных данных байтов содержит только два или три символа Base64 (без соответствующих символов заполнения), они декодируются так, как будто за ними следуют символы заполнения. Если в конечной единице присутствует символ заполнения, необходимо указать правильное количество символов заполнения, в противном случае IllegalArgumentException (IOException при чтении из потока Base64) будет сгенерировано во время декодирования.
Экземпляры класса Base64.Decoder безопасны для использования несколькими одновременными потоками.
Если не указано иное, передача null аргумента методу этого класса приведет к сгенерированию исключения NullPointerException.
- С тех пор:
- 1.8
- См. также:
Base64.Encoder
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
byte[] | decode(byte[] src) | Декодирует все байты из входного массива байтов, используя схему кодирования |
int | decode(byte[] src,
byte[] dst) | Декодирует все байты из входного массива байтов, используя схему кодирования |
byte[] | decode(String src) | Декодирует закодированную строку Base64 в новый выделенный массив байтов, используя схему кодирования |
ByteBuffer | decode(ByteBuffer buffer) | Декодирует все байты из входного буфера байтов, используя схему кодирования |
InputStream | wrap(InputStream is) | Возвращает поток ввода для декодирования потока байтов, закодированного в |
Методы, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitМетоды
decode
public byte[] decode(byte[] src)
Декодирует все байты из входного массива байтов, используя схему кодирования Base64, записывая результаты в новый выделенный массив байтов. Возвращаемый массив байтов имеет размер, равный размеру результирующих байтов.
- Параметры:
-
src- массив байтов для декодирования - Возвращает:
- Новый выделенный массив байтов, содержащий декодированные байты.
- Исключения:
-
IllegalArgumentException- еслиsrcне соответствует схеме Base64
decode
public byte[] decode(String src)
Декодирует закодированную строку Base64 в новый выделенный массив байтов, используя схему кодирования Base64.
Вызов этого метода имеет точно такой же эффект, как вызов decode(src.getBytes(StandardCharsets.ISO_8859_1))
- Параметры:
-
src- строка для декодирования - Возвращает:
- Новый выделенный массив байтов, содержащий декодированные байты.
- Исключения:
-
IllegalArgumentException- еслиsrcне соответствует схеме Base64
decode
public int decode(byte[] src,
byte[] dst)Декодирует все байты из входного массива байтов, используя схему кодирования Base64, записывая результаты в заданный массив байтов, начиная со смещения 0.
Ответственность вызывающего метода состоит в том, чтобы убедиться, что выходной массив байтов dst имеет достаточный размер для декодирования всех байтов из входного массива байтов. Если выходной массив байтов недостаточно велик, байты не будут записаны в выходной массив байтов.
Если входной массив байтов не соответствует схеме кодирования Base64, некоторые байты могут быть записаны в выходной массив байтов до возникновения исключения IllegalargumentException.
- Параметры:
-
src- массив байтов для декодирования -
dst- выходной массив байтов - Возвращает:
- Количество байтов, записанных в выходной массив байтов
- Исключения:
-
IllegalArgumentException- еслиsrcне соответствует схеме Base64 илиdstне имеет достаточного размера для декодирования всех входных байтов.
decode
public ByteBuffer decode(ByteBuffer buffer)
Декодирует все байты из входного буфера байтов, используя схему кодирования Base64, записывая результаты в новый выделенный ByteBuffer.
После возвращения позиция входного буфера будет обновлена до его предела; его предел не будет изменён. Позиция возвращаемого выходного буфера будет равна нулю, а его предел будет равен количеству декодированных байтов.
IllegalArgumentException генерируется, если входной буфер не соответствует схеме кодирования Base64. В этом случае позиция входного буфера не будет сдвинута.
- Параметры:
-
buffer- ByteBuffer для декодирования - Возвращает:
- Новый выделенный буфер байтов, содержащий декодированные байты
- Исключения:
-
IllegalArgumentException- еслиsrcне соответствует схеме Base64.
wrap
public InputStream wrap(InputStream is)
Возвращает поток ввода для декодирования потока байтов, закодированного в Base64.
Методы read возвращаемого InputStream потока будут генерировать IOException при чтении байтов, которые не могут быть декодированы.
Закрытие возвращаемого потока ввода закроет и базовый поток ввода.
- Параметры:
-
is- поток ввода - Возвращает:
- поток ввода для декодирования указанного потока байтов, закодированного в Base64
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Base64.Decoder.html