Si usted tiene un String
, se puede hacer eso:
String s = "test";
try {
s.getBytes("UTF-8");
} catch(UnsupportedEncodingException uee) {
uee.printStackTrace();
}
Si usted tiene un 'roto' String
, que hizo algo mal, la conversión de un String
a un String
en otra codificación no es defenetely el camino ¡ir! Puede convertir un String
en un byte[]
y viceversa (dada una codificación). En Java String
s están codificados con AFAIK UTF-16
, pero eso es un detalle de implementación.
Digamos que tienes una InputStream
, se puede leer en un byte[]
y luego convertir eso a un String
usando
byte[] bs = ...;
String s;
try {
s = new String(bs, encoding);
} catch(UnsupportedEncodingException uee) {
uee.printStackTrace();
}
o incluso mejor (gracias a Erickson) utiliza InputStreamReader
así:
InputStreamReader isr;
try {
isr = new InputStreamReader(inputStream, encoding);
} catch(UnsupportedEncodingException uee) {
uee.printStackTrace();
}
posible duplicado de [Codificación de conversión en java] (http: // stackoverflow.com/questions/229015/encoding-conversion-in-java) – kamaci