Java 8 - Base64
Java 8 では、Base64 がついにその期限を迎えました。 Java 8 には、Base64 エンコーディング用のエンコーダとデコーダが組み込まれています。 Java 8 では、3 種類の Base64 エンコーディングを使用できます。
- <リ>
シンプル − 出力は、A-Za-z0-9+/ にある一連の文字にマップされます。エンコーダーは出力に改行を追加せず、デコーダーは A-Za-z0-9+/ 以外の文字を拒否します。
<リ>URL − 出力は、A-Za-z0-9+_ にある一連の文字にマップされます。出力は URL およびファイル名に対して安全です。
<リ>MIME − 出力は MIME に適した形式にマッピングされます。出力は、それぞれ 76 文字以下の行で表され、改行 '\r' とそれに続く改行 '\n' を行区切りとして使用します。エンコードされた出力の末尾に行区切りはありません。
ネストされたクラス
Sr.No. | ネストされたクラスと説明 |
---|---|
1 | 静的クラス Base64.Decoder このクラスは、RFC 4648 および RFC 2045 で指定されているように、Base64 エンコーディング スキームを使用してバイト データをデコードするためのデコーダを実装します。 |
2 | 静的クラス Base64.Encoder このクラスは、RFC 4648 および RFC 2045 で指定されているように、Base64 エンコード スキームを使用してバイト データをエンコードするためのエンコーダーを実装します。 |
方法
Sr.No. | メソッド名と説明 |
---|---|
1 | 静的 Base64.Decoder getDecoder() Basic タイプの base64 エンコーディング スキームを使用してデコードする Base64.Decoder を返します。 |
2 | 静的 Base64.Encoder getEncoder() Basic タイプの base64 エンコーディング スキームを使用してエンコードする Base64.Encoder を返します。 |
3 | 静的 Base64.Decoder getMimeDecoder() MIME タイプの base64 デコード スキームを使用してデコードする Base64.Decoder を返します。 |
4 | 静的 Base64.Encoder getMimeEncoder() MIME タイプの base64 エンコーディング スキームを使用してエンコードする Base64.Encoder を返します。 |
5 | 静的 Base64.Encoder getMimeEncoder(int lineLength, byte[] lineSeparator) 指定された行の長さと行区切りで MIME タイプの base64 エンコーディング スキームを使用してエンコードする Base64.Encoder を返します。 |
6 | 静的 Base64.Decoder getUrlDecoder() URL およびファイル名セーフ タイプの base64 エンコーディング スキームを使用してデコードする Base64.Decoder を返します。 |
7 | 静的 Base64.Encoder getUrlEncoder() URL およびファイル名セーフ タイプの base64 エンコーディング スキームを使用してエンコードする Base64.Encoder を返します。 |
継承されるメソッド
このクラスは、次のクラスからメソッドを継承します −
- java.lang.Object
Base64 の例
たとえば、C:/> JAVA などの任意のエディターを使用して、次の Java プログラムを作成します。
Java8Tester.java
ライブデモimport java.util.Base64; import java.util.UUID; import java.io.UnsupportedEncodingException; public class HelloWorld { public static void main(String args[]) { try { // Encode using basic encoder String base64encodedString = Base64.getEncoder().encodeToString( "TutorialsPoint?java8".getBytes("utf-8")); System.out.println("Base64 Encoded String (Basic) :" + base64encodedString); // Decode byte[] base64decodedBytes = Base64.getDecoder().decode(base64encodedString); System.out.println("Original String: " + new String(base64decodedBytes, "utf-8")); base64encodedString = Base64.getUrlEncoder().encodeToString( "TutorialsPoint?java8".getBytes("utf-8")); System.out.println("Base64 Encoded String (URL) :" + base64encodedString); StringBuilder stringBuilder = new StringBuilder(); for (int i = 0; i < 10; ++i) { stringBuilder.append(UUID.randomUUID().toString()); } byte[] mimeBytes = stringBuilder.toString().getBytes("utf-8"); String mimeEncodedString = Base64.getMimeEncoder().encodeToString(mimeBytes); System.out.println("Base64 Encoded String (MIME) :" + mimeEncodedString); } catch(UnsupportedEncodingException e) { System.out.println("Error :" + e.getMessage()); } } }
結果を確認する
javac を使用してクラスをコンパイルします 次のようにコンパイラ-
C:\JAVA>javac Java8Tester.java
次のように Java8Tester を実行します −
C:\JAVA>java Java8Tester
次の出力が生成されるはずです −
Base64 Encoded String (Basic) :VHV0b3JpYWxzUG9pbnQ/amF2YTg= Original String: TutorialsPoint?java8 Base64 Encoded String (URL) :VHV0b3JpYWxzUG9pbnQ_amF2YTg= Base64 Encoded String (MIME) :YmU3NWY2ODktNGM5YS00ODlmLWI2MTUtZTVkOTk2YzQ1Njk1Y2EwZTg2OTEtMmRiZC00YTQ1LWJl NTctMTI1MWUwMTk0ZWQyNDE0NDAwYjgtYTYxOS00NDY5LTllYTctNjc1YzE3YWJhZTk1MTQ2MDQz NDItOTAyOC00ZWI0LThlOTYtZWU5YzcwNWQyYzVhMTQxMWRjYTMtY2MwNi00MzU0LTg0MTgtNGQ1 MDkwYjdiMzg2ZTY0OWU5MmUtZmNkYS00YWEwLTg0MjQtYThiOTQxNDQ2YzhhNTVhYWExZjItNjU2 Mi00YmM4LTk2ZGYtMDE4YmY5ZDZhMjkwMzM3MWUzNDMtMmQ3MS00MDczLWI0Y2UtMTQxODE0MGU5 YjdmYTVlODUxYzItN2NmOS00N2UyLWIyODQtMThlMWVkYTY4M2Q1YjE3YTMyYmItZjllMS00MTFk LWJiM2UtM2JhYzUxYzI5OWI4
Java