Kode streng til UTF-8

Jeg har en streng med et "ñ" tegn, og jeg har noen problemer med den. Jeg må kode denne strengen til UTF-8-koding. Jeg har prøvd på denne måten, men det fungerer ikke:

byte ptext[] = myString.getBytes();
String value = new String(ptext, "UTF-8");

Hvordan koder jeg den strengen til utf-8?

Hva med å bruke

ByteBuffer byteBuffer = StandardCharsets.UTF_8.encode(myString)
Kommentarer (6)
Løsning

String-objekter i Java bruker UTF-16-koding som ikke kan endres.

Det eneste som kan ha en annen koding, er en byte[]. Så hvis du trenger UTF-8-data, trenger du en byte[]. Hvis du har en String som inneholder uventede data, ligger problemet et sted som feilaktig har konvertert binære data til en String (dvs. med feil koding).

Kommentarer (4)

Bruk byte[] ptext = String.getBytes("UTF-8"); i stedet for getBytes(). getBytes() bruker såkalt "standardkoding", som ikke nødvendigvis er UTF-8.

Kommentarer (5)