標準Base64エンコードとデコード
JDK内部クラスやサードパーティ製コーデックの代わりにjava.util.Base64を使用する。
コード比較
✕ Internal JDK API
String encoded = new sun.misc.BASE64Encoder()
.encode(data);
✓ Java 8+
String encoded = Base64.getEncoder()
.encodeToString(data);
このコードに問題がありますか? お知らせください。
モダンな方法が優れている理由
サポート対象のAPI
アクセスできないsun.misc実装クラスを回避できます。
すべてのバリアント
基本形式、URLセーフ形式、MIME形式のエンコーダーとデコーダーが含まれます。
依存関係なし
エンコードとデコードはJDKに組み込まれています。
旧来のアプローチ
sun.miscエンコーダー
モダンなアプローチ
標準Base64 API
JDKバージョン
8
難易度
初級
JDKサポート
標準Base64エンコードとデコード
利用可能
JDK 8(2014年3月)以降、広く利用可能
仕組み
標準Base64 APIは、サポート対象外の内部パッケージに依存せず、基本形式、URLセーフ形式、MIME形式のエンコーダーとデコーダーを提供します。標準Base64にはgetEncoder()とgetDecoder()を使用し、対象形式で必要な場合はURL形式またはMIME形式を選択します。
関連ドキュメント
証明