Mam taki problem, otóż dostaję na wejście plik, który zaczytuje do pamięci. Dla każdego wiersza robię pewnie operacje porównujące stringi, ale zauważyłem że przy zmianie kodowania pliku te operacje nie działają (działają tylko gdy plik jest zakodowany w ANSI). Jak obejść ten problem??

- Rejestracja:ponad 17 lat
- Ostatnio:ponad 2 lata
Kodowanie znaków w javie to utf-8. Utf ma to do siebie że pierwsze 128 znaków (niejestem pewny co do extended ASCII) jest takie same jak dla ASCII czy każdej innej strony kodowej dlatego to Ci działa. Jeżeli natomiast masz już inne kodowanie i w nim wystepują znaki 128+ to Ci to nie zadziała. Wniosek jest taki - albo nie używaj znaków 128+ albo wczytujac bajty z pliku konvertuj je na utf-8 i wtedy porównuj.

- Rejestracja:ponad 17 lat
- Ostatnio:ponad 2 lata
pod windą też jest utf-8...stworzysz sobie w wordpadzie plik z kodowaniem cp1250...dasz kilka polskich znaków i jak zaczniesz ładować ten plik to javy to Ci wyjdą szlaczki. Chyba że zaznaczysz by pobierać bajty mapowane z cp1250...nieprawda?
@lipkerson: prawde nie wiem o czym do mnie mowisz.
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.