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 Stringin ein Stringanderes in einer anderen Codierung ist definitiv nicht der richtige Weg! Sie können a Stringin a konvertieren byte[]und umgekehrt (bei gegebener Codierung). In Java Stringsind AFAIK mit codiert, UTF-16aber das ist ein Implementierungsdetail.
Angenommen, Sie haben eine InputStream, können Sie eine einlesen byte[]und diese dann in eine StringVerwendung 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();
}