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?
176
3
Hva med å bruke
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 enbyte[]
. Hvis du har enString
som inneholder uventede data, ligger problemet et sted som feilaktig har konvertert binære data til enString
(dvs. med feil koding).Bruk
byte[] ptext = String.getBytes("UTF-8");
i stedet forgetBytes()
.getBytes()
bruker såkalt "standardkoding", som ikke nødvendigvis er UTF-8.