Saltar al contenido

Android: cómo convertir cadenas a utf-8 en android

Solución:

En http://developer.android.com/reference/java/net/URLEncoder.html puedes leer que el que usaste está obsoleto y que debes usar static String encode(String s, String charsetName)

Entonces URLEncoder.encode("臺北市", "utf-8") debería hacer el truco.

public class StringFormatter {

    // convert UTF-8 to internal Java String format
    public static String convertUTF8ToString(String s) {
        String out = null;
        try {
            out = new String(s.getBytes("ISO-8859-1"), "UTF-8");
        } catch (java.io.UnsupportedEncodingException e) {
            return null;
        }
        return out;
    }

    // convert internal Java String format to UTF-8
    public static String convertStringToUTF8(String s) {
        String out = null;
        try {
            out = new String(s.getBytes("UTF-8"), "ISO-8859-1");
        } catch (java.io.UnsupportedEncodingException e) {
            return null;
        }
        return out;
    }

}

Puede convertir su cadena usando la clase StringFormatter a su código.

Quieres convertir a UTF-8:

String normal="This normal string".
String utf=StringFormatter.convertStringToUTF8(normal);

Quiere convertir UTF-8 a formato normal:

String normal=StringFormatter.convertUTF8ToString(normal);

Puedes usar

URLEncoder.encode(string, "UTF-8");

Esto codificará su “cadena: en formato UTF-8.

Póngalo en un try / catch y verifique IllegalArgumentException si lo desea. Y si tiene espacios en su cadena, reemplácelo con

string.replace(" ", "%20");
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *