Więcej
Koduj ciąg znaków do UTF-8
Mam String z "ñ" znakiem i mam z nim pewne problemy. Muszę zakodować ten String do kodowania UTF-8. Próbowałem tego w ten sposób, ale to'nie działa:
byte ptext[] = myString.getBytes();
String value = new String(ptext, "UTF-8");
Jak zakodować ten ciąg do utf-8?
176
3
A może by tak użyć
Obiekty
String
w Javie używają kodowania UTF-16, które nie może'być modyfikowane.Jedyną rzeczą, która może mieć inne kodowanie jest
byte[]
. Więc jeśli potrzebujesz danych UTF-8, to potrzebujeszbyte[]
. Jeśli maszString
, który zawiera nieoczekiwane dane, to problem jest w jakimś wcześniejszym miejscu, które nieprawidłowo przekonwertowało dane binarne naString
(tzn. użyło niewłaściwego kodowania).Użyj
byte[] ptext = String.getBytes("UTF-8");
zamiastgetBytes()
. FunkcjagetBytes()
używa tak zwanego "domyślnego kodowania", które może nie być UTF-8.