Question : Comment comprimer une corde dans une représentation courte dans ASP.NET using C# ou VB.NET ?

Nous avons un besoin de comprimer une corde dans une représentation qui est plus courte que la corde originale puis pour la décomprimer.  J'ai voulu savoir s'il y a une manière de faire ceci dans .NET pour les cordes qui sont environ 200-500 caractères (pas extrêmement longtemps, mais nous devons les comprimer pour l'usage dans un URL/querystring). class= de

Réponse : Comment comprimer une corde dans une représentation courte dans ASP.NET using C# ou VB.NET ?

Puisque ces méthodes de compression ont comme conséquence des données binaires, et vous ne pouvez pas passer des bytes dans un URL, les données comprimées doivent être codées comme corde Base64. Tandis que la compression pourrait réduire la taille de la corde, je suspecte que le codage Base64 soit susceptible d'obtenir t'une corde plus grande que celle vous essayaient de se comprimer en premier lieu - en particulier si votre corde est en grande partie aléatoire.

Les petits ensembles de données, par exemple une corde de 500 bytes, tendent à ne pas se comprimer bien et souvent résultat dans une augmentation de taille.

Qu'est contenu dans votre corde ?

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 le système ;
using System.Collections.Generic ;
using System.Linq ;
using System.Text ;
using System.IO ;
using System.IO.Compression ;

namespace ConsoleApplication1
{
	programme de classe
	{
		principal vide de charge statique (args de corde [])
		{
			corde longString = GetLongString (500) ;
			
			corde comprimée = StringCompressor.CompressString (longString) ;
			corde non comprimée = StringCompressor.DecompressString (comprimé) ;

			Console.WriteLine (« longueur originale de corde : {0} \ r \ longueur nCompressed de corde : {1} »,
				longString.Length, comprimé. Longueur) ;
			Console.ReadKey () ;
		}

		corde statique GetLongString (l'international len)
		{
			Streptocoque de StringBuilder = nouveau StringBuilder () ;
			Couche-point aléatoire = nouvel aléatoire (DateTime.Now.Millisecond) ;

			pour (international i = 0 ; streamBytes < len=""> i = nouvelle liste () ;

			si (stream.CanSeek)
				jet. Position = 0 ;

			bytesRead d'international = 0 ;
			faire
			{
				bytesRead = jet. Lu (l'amortisseur, 0, buffer_size) ;
				si (bytesRead > 0)
					streamBytes.AddRange (amortisseur. Prise (bytesRead));
			} tandis que (bytesRead > 0) ;

			streamBytes.ToArray de retour () ;
		}
	}
}
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us