概要

JavaでBase64を使うには名前がそのままのBase64クラスを使います。実際にはBase64クラスの内部クラスであるBase64.EncoderとBase64.Decoderを使います。Base64を使うのは主にバイナリデータだと思われますが、今回は文字列をBase64にしてから元に戻すまでの処理を書いていきます。encodeに指定するのはbyte[]でdecodeで返ってくるのもbyte[]なので文字列を変換するときにはgetBytes、元に戻すときはStringのコンストラクタを使います。

ソースコード

import java.util.Base64;
import java.nio.charset.StandardCharsets;

public class Base64Sample{
    public static void main(String[] args) {
        String src = "d-kamiさんが作ったJavaのサンプルプログラムです";
        System.out.println(src);
        
        String encode = Base64.getEncoder().encodeToString(src.getBytes(StandardCharsets.UTF_8));
        System.out.println("Base64に変換後の文字列: " + encode);

        byte[] decode = Base64.getDecoder().decode(encode);
        System.out.println("Base64から戻した文字列: " + new String(decode, StandardCharsets.UTF_8));
    }
}