Сжатие строки увеличение длины строки
всем привет
у меня есть одна функция, которая генерирует строку
эта нить очень длинная.
я хочу уменьшить его длину и размер
это мой код и результат:
не выкладывая настоящую строку она очень длинная
protected void Page_Load(object sender, EventArgs e) { string txt = "somestring"; Label1.Text = txt.Length.ToString(); string cmpString = Compress(txt); Label2.Text = cmpString.Length.ToString(); } //For Compression public string Compress(string text) { byte[] buffer = Encoding.UTF8.GetBytes(text); MemoryStream ms = new MemoryStream(); using (GZipStream zip = new GZipStream(ms, CompressionMode.Compress, true)) { zip.Write(buffer, 0, buffer.Length); } ms.Position = 0; byte[] compressed = new byte[ms.Length]; ms.Read(compressed, 0, compressed.Length); byte[] gzBuffer = new byte[compressed.Length + 4]; System.Buffer.BlockCopy(compressed, 0, gzBuffer, 4, compressed.Length); System.Buffer.BlockCopy(BitConverter.GetBytes(buffer.Length), 0, gzBuffer, 0, 4); return Convert.ToBase64String(gzBuffer); }
результат:
465832
667296
Что я уже пробовал:
мой вопрос заключается в том, что когда я сжимаю данные, Длина этой строки должна уменьшаться, она увеличивается, есть ли какое-либо решение, потому что я хочу минимизировать ее длину и размер.
Vani Kulkarni
В чем же вопрос?
MAU787
мой вопрос заключается в том что когда я сжимаю данные Длина этой строки должна уменьшаться она увеличивается
есть ли какое-то решение, потому что я хочу минимизировать его длину и размер
barneyman
вы забываете, что кодировка b64 добавляет 33% ?
MAU787
о, правда?
так что же я должен сделать, чтобы уменьшить его размер??