Wenn Sie eine haben String
, können Sie das tun:
String s = "test";
try {
s.getBytes("UTF-8");
} catch(UnsupportedEncodingException uee) {
uee.printStackTrace();
}
Wenn Sie ein "defekt" haben String
, haben Sie etwas falsch gemacht. Die Konvertierung eines String
in ein String
anderes in einer anderen Codierung ist definitiv nicht der richtige Weg! Sie können a String
in a konvertieren byte[]
und umgekehrt (bei gegebener Codierung). In Java String
sind AFAIK mit codiert, UTF-16
aber das ist ein Implementierungsdetail.
Angenommen, Sie haben eine InputStream
, können Sie eine einlesen byte[]
und diese dann in eine String
Verwendung umwandeln
byte[] bs = ...;
String s;
try {
s = new String(bs, encoding);
} catch(UnsupportedEncodingException uee) {
uee.printStackTrace();
}
oder noch besser (dank erickson) so verwenden InputStreamReader
:
InputStreamReader isr;
try {
isr = new InputStreamReader(inputStream, encoding);
} catch(UnsupportedEncodingException uee) {
uee.printStackTrace();
}