Как использовать JSON для сериализации байтового массива без увеличения длины - PullRequest
0 голосов
/ 19 декабря 2018

Я разрабатываю программное обеспечение для отправки и получения файлов.

Файл разделен на небольшие части для отправки по сети.Изначально я отправлял байтовые массивы напрямую, без заголовков или чего-то в этом роде.Но теперь я увидел, что можно отправлять байтовые массивы через JSON.JSON теперь кодирует байты в base64 и создает текстовую строку.Проблема заключается в том, что эта текстовая строка намного превышает фактическую длину введенных байтов.

Например, файл размером 200 МБ, закодированный в base64, увеличивается до размера около 300 МБ.Даже если после преобразования в байты значение возвращается к 200 МБ, для его отправки дополнительные 100 МБ являются проблемой.

Класс для сериализации:

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

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

Основной код:

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

JsonConvert.SerializeObject(filePart);

Я хотел бы знать, есть ли способ оптимизировать это увеличение длины или есть ли лучшие способы отправки байтовых массивов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...