util tobase64string libreria geturlencoder getbytes convertir convert base64urlencode java android base64 encoder decoder

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);



Ver android.util.Base64

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.