Bien, sé cómo hacerlo en C#.¿Cómo convierto una matriz de bytes a Base64 en Java?
Es tan simple como:
Convert.ToBase64String(byte[])
and Convert.FromBase64String(string) to get byte[] back.
¿Cómo se puede hacer esto en Java?
Bien, sé cómo hacerlo en C#.¿Cómo convierto una matriz de bytes a Base64 en Java?
Es tan simple como:
Convert.ToBase64String(byte[])
and Convert.FromBase64String(string) to get byte[] back.
¿Cómo se puede hacer esto en Java?
Uso
byte[] data = new Base64().decode(base64str);
que se necesita para hacer referencia commons codec de su proyecto con el fin de que el código para trabajar.
codificar o decodificar byte matrices:
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"
O si lo que desea es las cuerdas:
String encoded = Base64.getEncoder().encodeToString("Hello".getBytes());
println(encoded); // Outputs "SGVsbG8="
String decoded = new String(Base64.getDecoder().decode(encoded.getBytes()));
println(decoded) // Outputs "Hello"
Para obtener más información, ver Base64.
base 64 no se incluye con Java 7. Recomiendo el uso de Apache Commons Codec.
Para matrices de bytes directos:
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"
O si lo que desea es las cuerdas:
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"
Si está utilizando el SDK de Android con Java 7 a continuación, su mejor opción es usar el paquete android.util.Base64
.
Para matrices de bytes directos:
byte[] encoded = Base64.encode("Hello".getBytes());
println(new String(encoded)) // Outputs "SGVsbG8="
byte [] decoded = Base64.decode(encoded);
println(new String(decoded)) // Outputs "Hello"
O si lo que desea es las cuerdas:
String encoded = Base64.encodeToString("Hello".getBytes());
println(encoded); // Outputs "SGVsbG8="
String decoded = new String(Base64.decode(encoded));
println(decoded) // Outputs "Hello"
los métodos de codificación/decodificación de la clase base 64 son estáticos por lo que no es necesario crear una nuevo objeto. Entonces: byte [] data = Base64.decode (base64str); es suficiente. –