C # Двоичная сериализация в переменную - PullRequest
0 голосов
/ 10 февраля 2019

У меня есть фрагмент кода, который сериализовал строку в XML с помощью XmlSerializer.Я хочу сериализовать одну и ту же строку в двоичный файл, а не в xml, я пробовал разные коды, но ни один из них не работал, если возможно, перепишите следующий код, чтобы вывести мне сериализованный двоичный файл и сохранить его в переменной.

public  class SerialTest
{
    public static void Main(string[] s)
    {
        String test = "ASD";
        string serializedData = string.Empty;                   

        XmlSerializer serializer = new XmlSerializer(test.GetType());
        using (StringWriter sw = new StringWriter())
        {
            serializer.Serialize(sw, test);
            serializedData = sw.ToString();
            Console.WriteLine(serializedData);
            Console.ReadLine();
        }
    }
}

На самом деле я хочу иметь код, который сериализует объект и дает мне сериализованный двоичный файл в качестве вывода в переменной, а не в XML.

1 Ответ

0 голосов
/ 10 февраля 2019

Если вам нужно сохранить вывод двоичной сериализации внутри string, для этого вы можете использовать ToBase64String, как показано ниже.

String test = "ASD";
string serializedData = string.Empty;
MemoryStream memoryStream = new MemoryStream();
BinaryFormatter binaryFormatter = new BinaryFormatter();
binaryFormatter.Serialize(memoryStream, test);
memoryStream.Flush();
memoryStream.Position = 0;
serializedData = Convert.ToBase64String(memoryStream.ToArray());
...