使用特定的unicode

时间:2019-07-04 10:10:16

标签: c# serialization unicode binary protobuf-net

我正在尝试序列化/反序列化一个对象。 序列化效果很好,但是反序列化却不起作用。看来这是一个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

0 个答案:

没有答案