Spec-Zone.ru › OpenJDK 24

Класс 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.

Если декодированный выходной массив байтов нужного размера не может быть выделен, методы декодирования этого класса вызовут исключение OutOfMemoryError.

С момента:
1.8
См. также:
  • Base64.Encoder

Краткое описание методов

Модификатор и тип Метод Описание
byte[] decode(byte[] src)
Декодирует все байты из входного массива байтов с использованием схемы кодирования Base64, записывая результаты в новый выделенный массив байтов.
int decode(byte[] src, byte[] dst)
Декодирует все байты из входного массива байтов с использованием схемы кодирования Base64, записывая результаты в заданный массив байтов, начиная с смещения 0.
byte[] decode(String src)
Декодирует закодированную строку Base64 в новый выделенный массив байтов с использованием схемы кодирования Base64.
ByteBuffer decode(ByteBuffer buffer)
Декодирует все байты из входного буфера байтов с использованием схемы кодирования Base64, записывая результаты в новый выделенный ByteBuffer.
InputStream wrap(InputStream is)
Возвращает поток ввода для декодирования потока байтов, закодированных в Base64.

Методы, объявленные в классе 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 - если buffer не соответствует схеме кодирования Base64

wrap

public InputStream wrap(InputStream is)
Возвращает поток ввода для декодирования потока байтов, закодированных в Base64.

Методы read возвращаемого InputStream потока будут выбрасывать IOException при чтении байтов, которые нельзя декодировать.

Закрытие возвращаемого потока ввода закроет лежащий в основе поток ввода.

Параметры:
is - поток ввода
Возвращает:
поток ввода для декодирования указанного потока байтов, закодированных в Base64

© 1993, 2025, 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/util/Base64.Decoder.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API