如何使用JSON序列化字节数组而不增加长度

时间:2018-12-19 14:25:13

标签: c# json serialization

我正在开发发送和接收文件的软件。

文件分为几部分,要在网络上发送。最初,我直接发送字节数组,没有标题或类似的东西。但是现在我已经知道可以通过JSON发送字节数组。 JSON现在在base64中编码字节,并创建一个文本字符串。问题在于此文本字符串远远超出了输入字节的实际长度。

例如,以base64编码的200 mb大小的文件增加到300 mb左右。即使将其重新转换为字节后,该值仍返回200 mb(要发送),额外的100 mb还是一个问题。

要序列化的类:

[JsonProperty]
public long filePointer { get; set; }

[JsonProperty]
public byte[] fileData { get; set; }

主要代码:

FilePart filePart = new FilePart {
    filePointer = getFilePointer(),
    fileData = getFileData()
};

JsonConvert.SerializeObject(filePart);

我想知道是否有一种方法可以优化此长度增量,或者是否有更好的方法来发送字节数组。

0 个答案:

没有答案