Java での Base64 としてのデータのエンコード
Java には、データを Base64 としてエンコードするためのさまざまな方法が用意されています。この説明では、Base64 エンコーディングのアプローチを検討し、発生する一般的な問題に対処します。
sun.misc.BASE64Encoder Class
Java 7 では、sun.misc.BASE64EncoderクラスはBase64エンコードによく使用されていました。ただし、このクラスは Java 9 以降非推奨となり、使用は推奨されません。
Apache Commons
代わりに、Base64 エンコーディングに Apache Commons を利用できます。 。ただし、インポート ステートメントを必ず次のように変更してください。
import org.apache.commons.codec.binary.Base64;
さらに、非推奨の sun.* パッケージの代わりに Base64 クラスを使用します。
サンプル コード
Apache を使用したコード スニペットの例を次に示します。 Commons:
byte[] encodedBytes = Base64.encodeBase64("Test".getBytes()); System.out.println("encodedBytes " + new String(encodedBytes)); byte[] decodedBytes = Base64.decodeBase64(encodedBytes); System.out.println("decodedBytes " + new String(decodedBytes));
Java 8 での java.util.Base64
Java 8 では、Base64 エンコード用の java.util.Base64 クラスが導入されています。次のようにインポートします。
import java.util.Base64;
エンコードとデコードには Base64 静的メソッドを使用します。
byte[] encodedBytes = Base64.getEncoder().encode("Test".getBytes()); System.out.println("encodedBytes " + new String(encodedBytes)); byte[] decodedBytes = Base64.getDecoder().decode(encodedBytes); System.out.println("decodedBytes " + new String(decodedBytes));
文字列のエンコードとデコードには、次のものが使用できます。
String encodeBytes = Base64.getEncoder().encodeToString((userName + ":" + password).getBytes());
詳細については、Base64 の Java ドキュメントを参照してください。
以上がJava で Base64 データを効率的にエンコードおよびデコードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。