I need to send compressed Base64 data over an Azure queue, which has a limitation of 64K.
My code compresses the data and then encodes it as a Base64 string.
I verify the compressed and encoded string does not exceed 64000 bytes (see encodedLen below), however, my code crashed when I tried to add a message of ~57,000 bytes .
var byteString = Encoding.UTF8.GetBytes(articleDataToSend);
var compressed = QuickLZ.compress(byteString, 1);
var encoded = Convert.ToBase64String(compressed);
var encodedLen = Encoding.UTF8.GetByteCount(encoded);
if(encodedLen < 64000)
{
QueueMessage(_nlpInputQueue, encoded);
}
I'm using Visual Studio 2012 and .Net 4.5.
What am I missing here?