Я разрабатываю программное обеспечение для отправки и получения файлов.
Файл разделен на небольшие части для отправки по сети.Изначально я отправлял байтовые массивы напрямую, без заголовков или чего-то в этом роде.Но теперь я увидел, что можно отправлять байтовые массивы через 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);
Я хотел бы знать, есть ли способ оптимизировать это увеличение длины или есть ли лучшие способы отправки байтовых массивов.