tobase64string - java getbytes base64
Codificador y decodificador Base64 (6)
Para codificar:
private String encodeString(String s) {
byte[] data = new byte[0];
try {
data = s.getBytes("UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} finally {
String base64Encoded = Base64.encodeToString(data, Base64.DEFAULT);
return base64Encoded;
}
}
Para decodificar:
private String decodeString(String encoded) {
byte[] dataDec = Base64.decode(encoded, Base64.DEFAULT);
String decodedString = "";
try {
decodedString = new String(dataDec, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} finally {
return decodedString;
}
}
Ejemplo
String text = "example007";
Log.e("encoded", encodeString(text)); //Output: ZXhhbXBsZTAwNw==
Log.e("decoded", decodeString(encodeString(text))); //Output: example007
¿Hay un decodificador y codificador de base 64 para una cadena en Android?
Este es un ejemplo de cómo usar la clase Base64
para codificar y decodificar un valor de cadena simple.
// String to be encoded with Base64
String text = "Test";
// Sending side
byte[] data = null;
try {
data = text.getBytes("UTF-8");
} catch (UnsupportedEncodingException e1) {
e1.printStackTrace();
}
String base64 = Base64.encodeToString(data, Base64.DEFAULT);
// Receiving side
byte[] data1 = Base64.decode(base64, Base64.DEFAULT);
String text1 = null;
try {
text1 = new String(data1, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
Este extracto se puede incluir en una actividad de Android.
Este es un método simple que iba a usar hasta que me di cuenta de que esto solo es compatible con Android API 8+ :
// Has line break
public String getBase64(final String input) {
return Base64.encodeToString(input.getBytes(), Base64.DEFAULT);
}
// No line break
public String getBase64(final String input) {
return Base64.encodeToString(input.getBytes(), Base64.NO_WRAP);
}
Si no desea un salto de línea al final de la cadena, cambie los indicadores de Base64.DEFAULT
a Base64.NO_WRAP
Base64.encodeToString("yourString".getBytes("UTF-8"), Base64.NO_WRAP);
decodificación base64 esto puede ayudarnos a todos.
Parece que esto se agregó en API versión 8 o Android 2.2, por lo que no estará disponible en las plataformas anteriores.
Pero la fuente está en android/util/Base64.java
así que si es necesario uno podría simplemente copiarlo sin cambios para versiones anteriores.