Класс 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) Декодирует все байты из входного массива байтов, используя схему кодирования |
ByteBuffer |
decode(ByteBuffer buffer) Декодирует все байты из входного буфера байтов, используя схему кодирования |
byte[] |
decode(String src) Декодирует строку, закодированную в Base64, в новый выделенный массив байтов, используя схему кодирования |
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.