Okay, ich weiß, wie es in C # geht.
Es ist so einfach wie:
Convert.ToBase64String(byte[])
and Convert.FromBase64String(string) to get byte[] back.
Wie kann ich das in Java machen?
Byte-Arrays codieren oder decodieren:
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"
Oder wenn Sie nur die Zeichenfolgen wollen:
String encoded = Base64.getEncoder().encodeToString("Hello".getBytes());
println(encoded); // Outputs "SGVsbG8="
String decoded = new String(Base64.getDecoder().decode(encoded.getBytes()));
println(decoded) // Outputs "Hello"
Weitere Informationen finden Sie unter Base64 .
Base64 wird nicht mit Java-Versionen unter 8 gebündelt. Ich empfehle die Verwendung von Apache Commons Codec .
Für Direktbyte-Arrays:
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"
Oder wenn Sie nur die Zeichenfolgen wollen:
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"
Wenn Sie das Android SDK vor Java 8 verwenden, ist es am besten, das mitgelieferte zu verwenden android.util.Base64
.
Für Direktbyte-Arrays:
byte[] encoded = Base64.encode("Hello".getBytes());
println(new String(encoded)) // Outputs "SGVsbG8="
byte [] decoded = Base64.decode(encoded);
println(new String(decoded)) // Outputs "Hello"
Oder wenn Sie nur die Zeichenfolgen wollen:
String encoded = Base64.encodeToString("Hello".getBytes());
println(encoded); // Outputs "SGVsbG8="
String decoded = new String(Base64.decode(encoded));
println(decoded) // Outputs "Hello"
Verwenden:
byte[] data = Base64.encode(base64str);
Die Codierung wird in Base64 konvertiert
Sie müssten auf den Commons-Codec aus Ihrem Projekt verweisen , damit dieser Code funktioniert.
Für Java8 :
import java.util.Base64
Zusätzlich für unsere Android-Freunde (API Level 8):
quelle
Falls Sie Spring Framework zusammen mit Java verwenden, gibt es einen einfachen Weg.
Importieren Sie Folgendes.
Konvertieren Sie so.
Zum Dekodieren können Sie die decodeToString-Methode der Base64Utils-Klasse verwenden.
quelle