Двоичная сериализация объекта в файл с определенным юникодом - PullRequest
2 голосов
/ 04 июля 2019

Я пытаюсь сериализовать / десериализовать объект.Сериализация работает хорошо, но десериализация не работает.Кажется, что это проблема Unicode: System.Text.DecoderFallbackException Исключение, которое говорит, что существует проблема Unicode (Перевод с французского на английский):

Can not translate [FF] bytes to index 31 from the code page specified in Unicode.

Я использовалдве функции для двоичной сериализации в deadlydog отвечают по теме.

Вопрос в том, как я могу указать Unicode для десериализации и сериализации в этом коде?


РЕДАКТИРОВАТЬ:

Наконец, я использую protobuf-Net , вот мои функции:

    public static void WriteToBinaryFile<T>(string filePath, T objectToWrite, bool append = false)
    {
        using (var file = File.Open(filePath, append ? FileMode.Append : FileMode.Create))
        {
            Serializer.Serialize<T>(file, objectToWrite);
        }
    }


    public static T ReadFromBinaryFile<T>(string filePath)
    {
        using (var file = File.Open(filePath, FileMode.Open))
        {
            return Serializer.Deserialize<T>(file);
        }
    }

Но у меня возникает ошибка при десериализации: Неверное поле в исходных данных: 0

...