Я хочу сериализовать Datatable
, содержащий несколько других таблиц данных. В прошлом у меня никогда не было проблем с этим кодом:
System.IO.FileStream file = new System.IO.FileStream(fName, System.IO.FileMode.CreateNew);
System.IO.StreamWriter writer = new System.IO.StreamWriter(file);
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter bf = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
try{
bf.Serialize(writer.BaseStream, dt);
}catch(System.Exception ex){throw new System.Exception("Error serializing data stack!" + System.Environment.NewLine + "Error details: " + ex.Message);}
writer.Close();
writer.Dispose();
file.Close();
file.Dispose();
Но на этот раз я получаю исключение со странным текстом (извините - только что получил на немецком языке):
Ошибка сериализации стека данных!
Детали ошибки: Das Ersatzzeichenpaar (0xDB8C, 0xAD3) ist ungültig. Эйн Хоес Эрсаццейхен (0xD800 - 0xDFFFF) Муссетс Мейтс Нидриген Эрсаццейхен (0xDC00 - 0xDFFF) Эйн Паар билден.
Вы можете перевести это с:
Неверный символ замены (0xDB8C, 0xAD3). Символ высокой замены всегда должен сочетаться с символом низкой замены (0xDC00 - 0xDFFF) .`
Я действительно понятия не имею, что это может означать при использовании средства форматирования binare.