回答:
バイト配列をエンコードまたはデコードします。
byte[] encoded = Base64.getEncoder().encode("Hello".getBytes());
println(new String(encoded)); // Outputs "SGVsbG8="
byte[] decoded = Base64.getDecoder().decode(encoded);
println(new String(decoded)) // Outputs "Hello"
または、単に文字列が必要な場合:
String encoded = Base64.getEncoder().encodeToString("Hello".getBytes());
println(encoded); // Outputs "SGVsbG8="
String decoded = new String(Base64.getDecoder().decode(encoded.getBytes()));
println(decoded) // Outputs "Hello"
詳細については、Base64を参照してください。
Base64は8より前のバージョンのJavaにはバンドルされていません。ApacheCommons Codecの使用をお勧めします。
直接バイト配列の場合:
Base64 codec = new Base64();
byte[] encoded = codec.encode("Hello".getBytes());
println(new String(encoded)); // Outputs "SGVsbG8="
byte[] decoded = codec.decode(encoded);
println(new String(decoded)) // Outputs "Hello"
または、単に文字列が必要な場合:
Base64 codec = new Base64();
String encoded = codec.encodeBase64String("Hello".getBytes());
println(encoded); // Outputs "SGVsbG8="
String decoded = new String(codec.decodeBase64(encoded));
println(decoded) // Outputs "Hello"
すでにSpringプロジェクトで作業している場合は、そのorg.springframework.util.Base64Utils
クラスがより人間工学的であることがわかります。
直接バイト配列の場合:
byte[] encoded = Base64Utils.encode("Hello".getBytes());
println(new String(encoded)) // Outputs "SGVsbG8="
byte[] decoded = Base64Utils.decode(encoded);
println(new String(decoded)) // Outputs "Hello"
または、単に文字列が必要な場合:
String encoded = Base64Utils.encodeToString("Hello".getBytes());
println(encoded); // Outputs "SGVsbG8="
String decoded = Base64Utils.decodeFromString(encoded);
println(new String(decoded)) // Outputs "Hello"
Java 8より前のAndroid SDKを使用している場合は、バンドルされているを使用するのが最善の方法ですandroid.util.Base64
。
直接バイト配列の場合:
byte[] encoded = Base64.encode("Hello".getBytes());
println(new String(encoded)) // Outputs "SGVsbG8="
byte [] decoded = Base64.decode(encoded);
println(new String(decoded)) // Outputs "Hello"
または、単に文字列が必要な場合:
String encoded = Base64.encodeToString("Hello".getBytes());
println(encoded); // Outputs "SGVsbG8="
String decoded = new String(Base64.decode(encoded));
println(decoded) // Outputs "Hello"
使用する:
byte[] data = Base64.encode(base64str);
エンコーディングはBase64に変換されます
そのコードが機能するためには、プロジェクトからcommonsコーデックを参照する必要があります。
java8の場合:
import java.util.Base64