簡體   English   中英

C#二進制序列化為變量

[英]C# Binary serialization into a variable

我有一段代碼使用XmlSerializer將字符串序列化為XML。 我想將相同的字符串序列化為二進制而不是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輸出給我。

如果需要將Binary Serialization輸出存儲在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());

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM