Se si dispone di un String
, si può fare:
String s = "test";
try {
s.getBytes("UTF-8");
} catch(UnsupportedEncodingException uee) {
uee.printStackTrace();
}
Se avete un 'rotto' String
, hai fatto qualcosa di sbagliato, la conversione di un String
ad un String
in un'altra codifica non è defenetely la strada andare! È possibile convertire un String
in un byte[]
e viceversa (data una codifica). In Java String
s sono codificati AFAIK con UTF-16
ma questo è un dettaglio di implementazione.
Diciamo che avete un InputStream
, si può leggere in un byte[]
e poi convertire che ad un String
utilizzando
byte[] bs = ...;
String s;
try {
s = new String(bs, encoding);
} catch(UnsupportedEncodingException uee) {
uee.printStackTrace();
}
o meglio ancora (grazie a Erickson) usa InputStreamReader
così:
InputStreamReader isr;
try {
isr = new InputStreamReader(inputStream, encoding);
} catch(UnsupportedEncodingException uee) {
uee.printStackTrace();
}
fonte
2009-03-16 21:30:47
possibile duplicato di [Codifica conversione in java] (http: // StackOverflow.it/questions/229015/encoding-conversion-in-java) – kamaci