Mam String z "ñ" znakiem i mam z nim pewne problemy. Muszę zakodować ten String do kodowania UTF-8. Próbowałem tego w ten sposób, ale to'nie działa:
byte ptext[] = myString.getBytes();
String value = new String(ptext, "UTF-8");
Jak zakodować ten ciąg do utf-8?
A może by tak użyć
ByteBuffer byteBuffer = StandardCharsets.UTF_8.encode(myString)
Obiekty String
w Javie używają kodowania UTF-16, które nie może'być modyfikowane.
Jedyną rzeczą, która może mieć inne kodowanie jest byte[]
. Więc jeśli potrzebujesz danych UTF-8, to potrzebujesz byte[]
. Jeśli masz String
, który zawiera nieoczekiwane dane, to problem jest w jakimś wcześniejszym miejscu, które nieprawidłowo przekonwertowało dane binarne na String
(tzn. użyło niewłaściwego kodowania).