Spec-Zone.ru › OpenJDK 25

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

Методы, объявленные в классе 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.

После возврата позиция исходного буфера будет установлена на его предел; его предел не изменится. Позиция возвращаемого выходного буфера будет равна нулю, а его пределом будет количество полученных декодированных байтов.

Если входной буфер не соответствует допустимой схеме кодирования Base64, выбрасывается IllegalArgumentException. В этом случае позиция входного буфера не изменится.

Параметры:
buffer — ByteBuffer для декодирования
Возвращает:
Новый буфер байтов, содержащий декодированные байты
Выбрасывает:
IllegalArgumentException — если buffer не соответствует допустимой схеме Base64

wrap

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

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

Закрытие возвращённого входного потока приведёт к закрытию базового входного потока.

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

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Base64.Decoder.html

Spec-Zone.ru

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