byte[] zu String zu byte[] UTF8 zu UTF16 zu UTF8

  • Antworten:3
  • Bentwortet
Jan Roessler
  • Forum-Beiträge: 22

23.04.2012, 22:21:42 via Website

hi,
ich bins mal wieder.
ich hab ein byte[] mit UTF8 gefuellt. den will ich nun in einen String schaffen. und auch einen String in byte[] wieder mit UTF8 fuellen.

mit getByte(String) kommt aber kein UTF8 raus. ich dachte es gaebe sowas wie
byte[] toUTF8(String A) {
return A.getByte("UTF8");
}

und
String toString(byte[] A) {
return new String(A,"UTF8");
}

es handelt sich nicht um laden von xml oder anderem. mein protokoll transportiert byteweise ueber sockets auch binaerdaten. somit ist erst beim zugriff auf einzelne daten klar als was man sie benoetigt. ich such schon ne weile nach einer konvertierung, aber ausser datenstroemen die das gleich mit machen hab ich nix gefunden. muss ich mir das selber schreiben? ich dachte das waeren basics in java.

Antworten
Jan Roessler
  • Forum-Beiträge: 22

24.04.2012, 07:37:09 via Website

danke. mich hatten die exception verwirrt.

Antworten
Rafael K.
  • Forum-Beiträge: 2.359

24.04.2012, 08:20:10 via Website

Jan Roessler
danke. mich hatten die exception verwirrt.
Da du das gewünschte Encoding als freien String übergibst, kannst Du da natürlich beliebige Fehler einbauen.
Darum gibt es mit den Exceptions einen strukturierten Mechanismus dir mitzuteilen, dass du ein Encoding übergeben hast, das entweder falsch geschrieben ist, oder auf dem System nicht zur Verfügung steht.
Fail-fast ist hier auf jeden Fall deutlich besser, als keine Fehlermeldung + falsches Ergebnis.

Antworten