Używam Microsoft.VisualBasic.Fileio.TextFieldParser do parsowania pliku CSV utworzonego w programie Excel 2003. Parser działa świetnie z tym wyjątkiem, że konwertuje rozszerzone wartości ASCII na znaki zapytania! Więc jeśli zawartość pliku brzmiała:Microsoft.VisualBasic.FileIO.TextFieldParser zmienia ± Ascii 241 na? Ascii 63
± 3
TextFieldParser wraca
? 3
Próbowałem wszystkich kodowań w pakiecie System.Text.Encoding bez powodzenia. Myślałem, że mam go z UTF7, ale to upuszczanie innych znaków, takich jak zastąpienie znaku + spacją.
Każda pomoc zostanie bardzo doceniona.
Nie ma czegoś takiego jak "ASCII 241". Znaczenie bajtów 128-255 jest zdefiniowane przez ** rozszerzenia do ** ASCII, i istnieje wiele z nich. –
Czy sprawdziłeś, co plik jest zapisany jako? Otwórz go w Notatniku i wybierz Zapisz jako, powinno być rozwijane, z którego można wybrać kodowanie. Sprawdź, co tam jest, podejrzewam ANSI. Możesz spróbować zapisać go jako UTF-8, a następnie ponownie uruchomić go w swojej aplikacji. – Pieter