[解決済み] base64のエンコード/デコードを提供するJavaライブラリはどれですか?重複
2023-05-08 08:52:18
質問
私は、base64エンコード/デコードのためにどのライブラリを使用するべきか疑問に思っています。私は、この機能が本番使用のために十分に安定している必要があります。
どのように解決するのですか?
Java 9
Java 8 の解決策を使用する。注意 DatatypeConverterはまだ使えるが、現在は
java.xml.bind
モジュールに含まれている。
module org.example.foo {
requires java.xml.bind;
}
Java 8
Java 8 では
java.util.Base64
を利用できるようになりました。
エンコーディング
byte[] message = "hello world".getBytes(StandardCharsets.UTF_8);
String encoded = Base64.getEncoder().encodeToString(message);
System.out.println(encoded);
// => aGVsbG8gd29ybGQ=
デコード
byte[] decoded = Base64.getDecoder().decode("aGVsbG8gd29ybGQ=");
System.out.println(new String(decoded, StandardCharsets.UTF_8));
// => hello world
Java 6と7
Java 6 からは、あまり知られていないクラス
javax.xml.bind.DatatypeConverter
を使うことができます。これはJREの一部であり、追加のライブラリは必要ありません。
エンコーディング
byte[] message = "hello world".getBytes("UTF-8");
String encoded = DatatypeConverter.printBase64Binary(message);
System.out.println(encoded);
// => aGVsbG8gd29ybGQ=
デコード
byte[] decoded = DatatypeConverter.parseBase64Binary("aGVsbG8gd29ybGQ=");
System.out.println(new String(decoded, "UTF-8"));
// => hello world
関連
-
Eclipse問題 アクセス制限。タイプ 'SunJCE' が API でないことを解決し、/jdk ディレクトリにある /jre と jre の違いについて理解を深める。
-
Javaでよくある構文エラー
-
StringBuilderが投げるArrayIndexOutOfBoundsExceptionの探索
-
アクセス制限の解決方法: ---- in Java
-
[解決済み] Javaで文字列値からenum値を取得する方法
-
[解決済み] 整数の平方根が整数であるかどうかを判断する最速の方法
-
[解決済み] クエリ文字列パラメータのJava URLエンコーディング
-
[解決済み] JavaでBase64データをデコードする
-
[解決済み] JavaによるHTTP URLアドレスのエンコード
-
[解決済み] JavaでBase64としてエンコードする
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
アクセス制限です。タイプ 'Application' は API ではない(必要なライブラリに制限がある)。
-
Springの設定でxsdファイルのバージョン番号を設定しない方が良い理由
-
Javaクラスが "Error occurred during initialization of boot layer "というエラーで実行される。
-
Javaがテキストファイルを読み込む
-
Java appears タイプEを囲むインスタンスがアクセスできない。
-
XXX型を囲むインスタンスがJavaでアクセスできない
-
春ブート複数のデータソースの管理(atomikos)同じサーバーホスト上の複数のプロジェクトを開始する複数のJava - jarのエラーソリューション
-
アクセス制限の解決方法: ---- in Java
-
IDEAError:javaの依存性エラー。Annotation processing is not supported for module cycles...(アノテーション処理はモジュールサイクルではサポートされていません。
-
[解決済み] JavaでBase64データをデコードする