Jeg har en String med et "ñ" tegn, og jeg har nogle problemer med det. Jeg har brug for at kode denne streng til UTF-8-kodning. Jeg har prøvet det på denne måde, men det virker ikke:
byte ptext[] = myString.getBytes();
String value = new String(ptext, "UTF-8");
Hvordan kan jeg kode denne streng til utf-8?
Hvad med at bruge
ByteBuffer byteBuffer = StandardCharsets.UTF_8.encode(myString)
String
-objekter i Java bruger UTF-16-kodning, som ikke kan ændres.
Den eneste ting, der kan have en anden kodning, er en byte[]
. Så hvis du har brug for UTF-8-data, skal du bruge en byte[]
. Hvis du har en String
, der indeholder uventede data, så er problemet et tidligere sted, hvor der er konverteret nogle binære data forkert til en String
(dvs. der blev brugt en forkert kodning).