工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> Java

Java 8 Base64エンコーディング:シンプル、URL、MIME対応が標準搭載

Java 8では、ついにBase64が標準ライブラリとして搭載されました。Java 8にはBase64エンコーディング用の組み込みエンコーダとデコーダが用意されています。Java 8では、以下の3種類のBase64エンコーディングを使用できます:

ネストされたクラス

番号 ネストクラスと説明
1

static class Base64.Decoder

RFC 4648およびRFC 2045で指定されたBase64エンコーディングスキームを使用してバイトデータをデコードするデコーダを実装します。

2

static class Base64.Encoder

RFC 4648およびRFC 2045で指定されたBase64エンコーディングスキームを使用してバイトデータをエンコードするエンコーダを実装します。

メソッド

番号 メソッド名と説明
1

static Base64.Decoder getDecoder()

Basicタイプのbase64エンコーディングスキームを使用してデコードするBase64.Decoderを返します。

2

static Base64.Encoder getEncoder()

Basicタイプのbase64エンコーディングスキームを使用してエンコードするBase64.Encoderを返します。

3

static Base64.Decoder getMimeDecoder()

MIMEタイプのbase64デコーディングスキームを使用してデコードするBase64.Decoderを返します。

4

static Base64.Encoder getMimeEncoder()

MIMEタイプのbase64エンコーディングスキームを使用してエンコードするBase64.Encoderを返します。

5

static Base64.Encoder getMimeEncoder(int lineLength, byte[] lineSeparator)

指定された行長と行セパレータを使用して、MIMEタイプのbase64エンコーディングスキームでエンコードするBase64.Encoderを返します。

6

static Base64.Decoder getUrlDecoder()

URLおよびファイル名安全タイプのbase64エンコーディングスキームを使用してデコードするBase64.Decoderを返します。

7

static Base64.Encoder getUrlEncoder()

URLおよびファイル名安全タイプのbase64エンコーディングスキームを使用してエンコードするBase64.Encoderを返します。

継承メソッド

このクラスは以下のクラスからメソッドを継承しています:

Base64使用例

任意のエディタで以下のJavaプログラムを作成してください(例:C:/> JAVA)。

Java8Tester.java

Live Demo
import java.util.Base64;
import java.util.UUID;
import java.io.UnsupportedEncodingException;

public class HelloWorld {
    public static void main(String args[]) {
        try {
            // Basicエンコーダでエンコード
            String base64encodedString = Base64.getEncoder().encodeToString(
                "TutorialsPoint?java8".getBytes("utf-8"));
            System.out.println("Base64 Encoded String (Basic) :" + base64encodedString);
            
            // デコード
            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

実行します:

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

  1. エンコーダの基礎:2-1および7セグメント2進エンコーダの設計
  2. Java演算子をマスター:種類、構文、実践例
  3. Javaコメント:種類、使い方、ベストプラクティス
  4. Java拡張forループをマスター:構文、例、ベストプラクティス
  5. Java文字列をマスター:生成、メソッド、ベストプラクティス
  6. Javaインターフェース完全ガイド:概念、実装、ベストプラクティス
  7. Java無名インナークラス完全ガイド:定義、構文、実践例
  8. Javaのtry-with-resourcesをマスターする:自動リソース管理の仕組みと活用法
  9. Javaアノテーション完全ガイド:種類、配置場所、実践例
  10. Javaアサーション完全ガイド:バグ早期発見とコード信頼性の向上
  11. Java Vectorの理解:使い方、特徴、ArrayListとの比較