Mám reťazec so znakom "ñ" a mám s ním určité problémy. Potrebujem tento reťazec zakódovať do kódovania UTF-8. Skúšal som to týmto spôsobom, ale nefunguje to:
byte ptext[] = myString.getBytes();
String value = new String(ptext, "UTF-8");
Ako mám zakódovať tento reťazec do UTF-8?
Čo tak použiť
ByteBuffer byteBuffer = StandardCharsets.UTF_8.encode(myString)
Objekty String
v Jave používajú kódovanie UTF-16, ktoré nie je možné modifikovať.
Jediná vec, ktorá môže mať iné kódovanie, je byte[]
. Ak teda potrebujete údaje v UTF-8, potom potrebujete byte[]
. Ak máte String
, ktorý obsahuje neočakávané údaje, potom je problém na nejakom predchádzajúcom mieste, ktoré nesprávne konvertovalo nejaké binárne údaje na String
(t. j. používalo nesprávne kódovanie).