Я пытаюсь использовать C# для чтения/записи некоторых старых файлов данных, которые были написаны с использованием Delphi и содержат только данные на основе ASCII. Некоторые данные представляют собой строки Pascal, длина которых, как вы, возможно, знаете, хранится в первом байте. .
Я открыл файлы с помощью FileStream, а затем использовал метод Read() для чтения данных в буфер (массив байтов). Я вижу, что массив байтов имеет значение 16 (десятичное) для первого байта, который я собираюсь прочитать из этого буфера.
Однако, когда я использую Encoding.ASCII.GetString(buffer, 18, 127) для чтения буфера в строку, результирующая строка получает строку '\u0010' в качестве первого символа, что все портит.
Любые мысли о том, как я могу избежать этот. Я бы предпочел не перекодировать с помощью StreamReader, чтобы добавить кодировку ANSII... все это основано на char[] и все равно может не работать.
Подробнее здесь: https://stackoverflow.com/questions/790 ... source-byt
Мобильная версия