Jag har en String med ett "ñ" tecken och jag har några problem med det. Jag måste koda denna sträng till UTF-8-kodning. Jag har försökt på detta sätt, men det fungerar inte:
byte ptext[] = myString.getBytes();
String value = new String(ptext, "UTF-8");
Hur kodar jag denna sträng till utf-8?
Vad sägs om att använda
ByteBuffer byteBuffer = StandardCharsets.UTF_8.encode(myString)
String
-objekt i Java använder UTF-16-kodning som inte kan ändras.
Det enda som kan ha en annan kodning är ett byte[]
. Om du behöver UTF-8-data behöver du alltså en byte[]
. Om du har en String
som innehåller oväntade data, så ligger problemet på ett tidigare ställe som felaktigt konverterade binära data till en String
(dvs. använde fel kodning).