Вопрос : Как обжать шнур в короткое представление в ASP.NET using C# или VB.NET?

Мы имеем потребность обжать шнур в представление коротке чем первоначально шнуры после этого для того чтобы распрессовать его.  Я хотел знать если будет дорога сделать это в .NET для шнуров, то около 200-500 характеров (весьма длиной, только нам нужно обжать их для пользы в URL/querystring). class=

Ответ : Как обжать шнур в короткое представление в ASP.NET using C# или VB.NET?

Потому что эти методы обжатия приводят к в бинарных данных, и вы не можете пройти байты в URL, спрессованный данным нужно быть зашифрованным как шнур Base64. Пока обжатие могло уменьшить размер шнура, я подозрюю зашифрование Base64 правоподобно для того чтобы получить вам шнур более большими чем одно вы пыталось обжать во-первых - определенно если ваш шнур больш случайно.

Малые комплекты данных, например шнур 500 байт, клонат не обжимать наилучшим образом и часто результат в увеличении в размере.

Содержится в вашем шнуре?

1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
using система;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.IO.Compression;

namespace ConsoleApplication1
{
	программа типа
	{
		главным образом static пустое (args шнура [])
		{
			шнур longString = GetLongString (500);
			
			шнур спрессованный = StringCompressor.CompressString (longString);
			шнур несжатый = StringCompressor.DecompressString (спрессованное);

			Console.WriteLine («первоначально длина шнура: {0} \ r \ nCompressed длина шнура: {1}»,
				longString.Length, спрессованное. Длина);
			Console.ReadKey ();
		}

		статический шнур GetLongString (int len)
		{
			Str StringBuilder = новое StringBuilder ();
			Случайно ранд = новое случайно (DateTime.Now.Millisecond);

			для (int iий = 0; streamBytes < len=""> iий = новый список ();

			если (stream.CanSeek), то
				поток. Положение = 0;

			bytesRead int = 0;
			сделайте
			{
				bytesRead = поток. Прочитано (буфер, 0, buffer_size);
				если (bytesRead > 0), то
					streamBytes.AddRange (буфер. Взятие (bytesRead));
			} пока (bytesRead > 0);

			возвращенное streamBytes.ToArray ();
		}
	}
}
Другие решения  
  •  Как я добавляю кнопки на форме PDF для того чтобы добавить/извлекаю рядки данных?
  •  Шнур ошибки в блоке задвижки?
  •  сколько вариант сервера SQL на одной машине
  •  Внешний вид 2007 не может архивный файл открытой сети сохраненный
  •  Активно директория DNS записывает вопрос
  •  Отчет о доступа 2010 экспорта к CSV с коллекторами?
  •  Прокладчик OCE 9400 не начинает
  •  как добавить десятичное место в формуле в отчете о кристалла seagate
  •  Windows XP и Мичрософт Оутлоок и проблемы установителя Windows
  •  VB6 к VS2010 - консультации тренировки?
  •  
    programming4us programming4us