Я использую lz4net для сжатия сообщений между моими webapi. Я конвертирую изображение из потока в строку base64 в клиенте, а затем отправляю его на веб-интерфейс API. Перед хранением я пытаюсь сжать строку, чтобы сэкономить место с помощью lz4net. Результирующая строка длиннее исходной строки base64. Я хотел бы помочь выяснить, почему это так. Спасибо.
Код:
byte[] arRegistration = oImgBrowser.mGetByteArray(oRegistrationStream);
sRegistrationImage = Convert.ToBase64String(arRegistration);
oRegistrationStream = new MemoryStream(arRegistration);
sRegistrationImage = mCompressString(sRegistrationImage)
public static string mCompressString(string sData)
{
string sCompressedString = "";
if (string.IsNullOrEmpty(sData))
{
throw new ArgumentException("The input data cannot be null");
}
byte[] arData = Encoding.UTF8.GetBytes(sData);
sCompressedString = Convert.ToBase64String(LZ4Codec.Wrap(arData));
return sCompressedString;
}