我需要通过Azure队列发送压缩的Base64数据,但其限制为64K。
我的代码将数据压缩后编码为Base64字符串。
我验证了压缩和编码后的字符串不超过64000字节(请参见下面的encodedLen),但当我尝试添加大小约为57,000字节的消息时,我的代码崩溃了。
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);
}
我正在使用Visual Studio 2012和.Net 4.5。
这里我错过了什么?