Decode base64 string to string java

Decode base64 string to string java

This class implements a decoder for decoding byte data using the Base64 encoding scheme as specified in RFC 4648 and RFC 2045. The Base64 padding character ‘=’ is accepted and interpreted as the end of the encoded byte data, but is not required. So if the final unit of the encoded byte data only has two or three Base64 characters (without the corresponding padding character(s) padded), they are decoded as if followed by padding character(s). If there is a padding character present in the final unit, the correct number of padding character(s) must be present, otherwise IllegalArgumentException ( IOException when reading from a Base64 stream) is thrown during decoding. Instances of Base64.Decoder class are safe for use by multiple concurrent threads. Unless otherwise noted, passing a null argument to a method of this class will cause a NullPointerException to be thrown.

Method Summary

Decodes all bytes from the input byte array using the Base64 encoding scheme, writing the results into a newly-allocated output byte array.

Decodes all bytes from the input byte array using the Base64 encoding scheme, writing the results into the given output byte array, starting at offset 0.

Decodes all bytes from the input byte buffer using the Base64 encoding scheme, writing the results into a newly-allocated ByteBuffer.

Methods inherited from class java.lang.Object

Method Detail

decode

public byte[] decode(byte[] src)

Decodes all bytes from the input byte array using the Base64 encoding scheme, writing the results into a newly-allocated output byte array. The returned byte array is of the length of the resulting bytes.

decode

Decodes a Base64 encoded String into a newly-allocated byte array using the Base64 encoding scheme. An invocation of this method has exactly the same effect as invoking decode(src.getBytes(StandardCharsets.ISO_8859_1))

decode

public int decode(byte[] src, byte[] dst)

Decodes all bytes from the input byte array using the Base64 encoding scheme, writing the results into the given output byte array, starting at offset 0. It is the responsibility of the invoker of this method to make sure the output byte array dst has enough space for decoding all bytes from the input byte array. No bytes will be be written to the output byte array if the output byte array is not big enough. If the input byte array is not in valid Base64 encoding scheme then some bytes may have been written to the output byte array before IllegalargumentException is thrown.

Читайте также:  Trace method call java

decode

Decodes all bytes from the input byte buffer using the Base64 encoding scheme, writing the results into a newly-allocated ByteBuffer. Upon return, the source buffer’s position will be updated to its limit; its limit will not have been changed. The returned output buffer’s position will be zero and its limit will be the number of resulting decoded bytes IllegalArgumentException is thrown if the input buffer is not in valid Base64 encoding scheme. The position of the input buffer will not be advanced in this case.

wrap

Returns an input stream for decoding Base64 encoded byte stream. The read methods of the returned InputStream will throw IOException when reading bytes that cannot be decoded. Closing the returned input stream will close the underlying input stream.

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2023, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.

Источник

Class Base64.Decoder

This class implements a decoder for decoding byte data using the Base64 encoding scheme as specified in RFC 4648 and RFC 2045.

The Base64 padding character ‘=’ is accepted and interpreted as the end of the encoded byte data, but is not required. So if the final unit of the encoded byte data only has two or three Base64 characters (without the corresponding padding character(s) padded), they are decoded as if followed by padding character(s). If there is a padding character present in the final unit, the correct number of padding character(s) must be present, otherwise IllegalArgumentException ( IOException when reading from a Base64 stream) is thrown during decoding.

Читайте также:  Css height 100 with paddings

Instances of Base64.Decoder class are safe for use by multiple concurrent threads.

Unless otherwise noted, passing a null argument to a method of this class will cause a NullPointerException to be thrown.

If the decoded byte output of the needed size can not be allocated, the decode methods of this class will cause an OutOfMemoryError to be thrown.

Method Summary

Decodes all bytes from the input byte array using the Base64 encoding scheme, writing the results into a newly-allocated output byte array.

Decodes all bytes from the input byte array using the Base64 encoding scheme, writing the results into the given output byte array, starting at offset 0.

Decodes all bytes from the input byte buffer using the Base64 encoding scheme, writing the results into a newly-allocated ByteBuffer.

Methods declared in class java.lang.Object

Method Details

decode

Decodes all bytes from the input byte array using the Base64 encoding scheme, writing the results into a newly-allocated output byte array. The returned byte array is of the length of the resulting bytes.

decode

Decodes a Base64 encoded String into a newly-allocated byte array using the Base64 encoding scheme. An invocation of this method has exactly the same effect as invoking decode(src.getBytes(StandardCharsets.ISO_8859_1))

decode

Decodes all bytes from the input byte array using the Base64 encoding scheme, writing the results into the given output byte array, starting at offset 0. It is the responsibility of the invoker of this method to make sure the output byte array dst has enough space for decoding all bytes from the input byte array. No bytes will be written to the output byte array if the output byte array is not big enough. If the input byte array is not in valid Base64 encoding scheme then some bytes may have been written to the output byte array before IllegalargumentException is thrown.

decode

Decodes all bytes from the input byte buffer using the Base64 encoding scheme, writing the results into a newly-allocated ByteBuffer. Upon return, the source buffer’s position will be updated to its limit; its limit will not have been changed. The returned output buffer’s position will be zero and its limit will be the number of resulting decoded bytes IllegalArgumentException is thrown if the input buffer is not in valid Base64 encoding scheme. The position of the input buffer will not be advanced in this case.

Читайте также:  Установка java sdk ubuntu

wrap

Returns an input stream for decoding Base64 encoded byte stream. The read methods of the returned InputStream will throw IOException when reading bytes that cannot be decoded. Closing the returned input stream will close the underlying input stream.

Report a bug or suggest an enhancement
For further API reference and developer documentation see the Java SE Documentation, which contains more detailed, developer-targeted descriptions with conceptual overviews, definitions of terms, workarounds, and working code examples. Other versions.
Java is a trademark or registered trademark of Oracle and/or its affiliates in the US and other countries.
Copyright © 1993, 2023, Oracle and/or its affiliates, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
All rights reserved. Use is subject to license terms and the documentation redistribution policy.

Источник

Кодирование и декодирование Base64 в Java

В этом посте будет обсуждаться кодирование и декодирование Base64 с использованием простой Java, Guava и Apache Commons.

Base64 представляет собой группу подобных схем кодирования двоичного кода в текст, представляющих двоичные данные в формате строки ASCII путем преобразования их в radix-64 представление. Каждый Base64 цифра представляет ровно 6 бит данных, что означает, что 3 байта могут быть представлены 4 6-битными Base64 цифры.

Схемы кодирования Base64 обычно используются, когда необходимо кодировать двоичные данные, которые необходимо хранить и передавать через носители, предназначенные для работы с текстовыми данными. Это необходимо для того, чтобы данные оставались неповрежденными без изменений во время транспортировки. Base64 обычно используется в ряде приложений, включая электронную почту через MIME и хранение сложных данных в XML .

1. Использование Java 8

Java 8, наконец, обеспечила поддержку возможностей кодирования и декодирования Base64, предоставив Base64, Base64.Encoder а также Base64.Decoder класс полезности. Base64 класс состоит из статических методов для получения экземпляров энкодеров ( Base64.Encoder ) и декодеры ( Base64.Decoder ) для схемы кодирования Base64.

В следующей программе используется Base64.Encoder.encodeToString() метод для кодирования указанного массива байтов в кодированную строку Base64 и Base64.Decoder.decode() метод обратного декодирования строки в кодировке Base64 во вновь выделенный массив байтов.

Источник

Оцените статью