Kodowanie pliku tekstowego

0

Witam. W programie mam za zadanie wczytać plik tekstowy i go edytować, potem zapisać.
Problem jest w tym, że poza zwykłym tekstem są też symbole, np. “[]"
Zwykłe czytanie nie chciało tego poprawnie pobierać.

Dlatego do metody wczytującej plik dodałem parametr Encoding.Default, i powiem że podziałało, plik wczytał się poprawnie i poprawnie się zapisał, ale przy następnym wczytaniu te symbole z powrotem sie zmieniły w jakieś inne "krzaczki". Domyślam się że problem występuje przy zapisywaniu pliku (choć zapisany plik wygląda poprawnie) i nie mam pojęcia jak to dalej ugryźć. będę wdzięczny za pomoc.

0

Jakie jest kodowanie pliku wejsciowego? W .NET domyslne to Unicode, wiec z takim zapewne jest zapisywany plik wyjsciowy. Pytanie czy Twoj edytor, ktorym pozniej sprawdzasz wynik poprawnie to kodowanie obsluguje.

0

No właśnie. Kodowanie pliku to: ANSI, takiego nie ma w .NET (no chyba że coś przeoczyłem)

Zauważyłem coś takiego, że jeżeli na nowo skompiluje projekt, to za pierwszym razem program wczyta ten sam plik i to poprawnie, z kolei potem wczyta źle, i jeśli na nowo skompiluje to śmiga...i tak w kółko

0

Encoding.Default zwraca kodowanie wedlug aktualnej strony kodowej systemu. Powinno to byc wiec Ansi (czyli windows-1250). Dla jasnosci zakoduj sobie plik w jakims powszechnie stosowanym formacie, np. utf-8 i nie powinno byc wtedy problemow.

0

Niestety, sprawa jest o tyle skomplikowana, że nie mogę zmienić kodowania, ponieważ ten plik potem jest wysyłany do urządzeń mobilnych. Nie mam pojęcia czy wtedy one by dobrze czytały te pliki....

0

No to przekonwertuj sobie w programie z ANSI (czyli Windows-1250) na UTF-8. Do konwersji między systemami kodowania służy ta metoda: System.Text.Encoding.Convert

1 użytkowników online, w tym zalogowanych: 0, gości: 1