[解決済み】Base64エンコードとデコードのサンプルコード
2022-04-04 10:25:48
質問
Base64で文字列をデコード、エンコードする方法をご存知の方はいらっしゃいますか?私は以下のコードを使っていますが、うまくいきません。
String source = "password";
byte[] byteArray = source.getBytes("UTF-16");
Base64 bs = new Base64();
//bs.encodeBytes(byteArray);
System.out.println( bs.encodeBytes(byteArray));
//bs.decode(bs.encodeBytes(byteArray));
System.out.println(bs.decode(bs.encodeBytes(byteArray)));
解決方法は?
まず
- エンコードを選択します。UTF-8は一般的に良い選択です。両側で確実に有効なエンコーディングにこだわってください。UTF-8やUTF-16以外を使用することは稀でしょう。
送信側。
-
文字列をバイト単位でエンコードする(例
text.getBytes(encodingName)
) -
を使用してバイトをbase64にエンコードします。
Base64
クラス - base64を転送する
受信側
- base64を受信する
-
を使用してbase64をバイトにデコードします。
Base64
クラス -
バイトを文字列にデコードする (例)
new String(bytes, encodingName)
)
だから、こんな感じ。
// Sending side
byte[] data = text.getBytes("UTF-8");
String base64 = Base64.encodeToString(data, Base64.DEFAULT);
// Receiving side
byte[] data = Base64.decode(base64, Base64.DEFAULT);
String text = new String(data, "UTF-8");
または
StandardCharsets
:
// Sending side
byte[] data = text.getBytes(StandardCharsets.UTF_8);
String base64 = Base64.encodeToString(data, Base64.DEFAULT);
// Receiving side
byte[] data = Base64.decode(base64, Base64.DEFAULT);
String text = new String(data, StandardCharsets.UTF_8);
関連
-
[解決済み] トークンのシンタックスエラー、これらのトークンを削除してください [closed].
-
[解決済み] 文字列が一意な文字であるかどうかを判定する
-
[解決済み] Java: getInstanceとStaticの比較
-
[解決済み] なぜゲッターとセッター/アクセッサーを使うのですか?
-
[解決済み] base64文字列をエンコード、デコードするにはどうしたらいいですか?
-
[解決済み】「px」、「dip」、「dp」、「sp」の違いは?
-
[解決済み】Android Studioです。jarをライブラリとして追加しますか?
-
[解決済み】JavaScriptで文字列をBase64にエンコードするにはどうすればいいですか?
-
[解決済み】JavaScriptでBase64文字列からBLOBを作成する場合
-
[解決済み】UIImageと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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] javaで部分クラスを実装する方法
-
[解決済み] Oracle DB : java.sql.SQLException: 閉じた接続
-
[解決済み] raw 型のメンバへのアンチェックの呼び出し
-
[解決済み] 1行目2列目でBEGIN_ARRAYを期待したが、BEGIN_OBJECTだった。
-
[解決済み] HTTP ステータス 500 - サーブレットクラス pkg.coreServlet のインスタンス化に失敗しました。
-
[解決済み] Java の文字列インデックスが範囲外です。0 [閉店]
-
[解決済み] アニメーションGIFの表示
-
[解決済み] SubclipseとJavaHLのインストールで頭を悩ます
-
[解決済み] 文字列の巻き方
-
[解決済み] Javaコンパイラーエラー:ステートメントではありません