Last modified by Robert Jan Daams on 2025/02/04 11:46
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 0 added, 1 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,140 +1,0 @@ 1 -{{box cssClass="floatinginfobox" title="**Contents**"}} 2 -{{toc/}} 3 -{{/box}} 4 - 5 -= Usefull code snippets = 6 - 7 -== C# .NET == 8 - 9 -== Zip Stream class == 10 - 11 -{{info}} 12 -This is a Zip Stream class you can use to extract a zipstream. 13 -{{/info}} 14 - 15 -{{code language="Csharp" layout="LINENUMBERS"}} 16 -/// <summary> 17 -/// Helper class for compress en decompress of file data 18 -/// </summary> 19 -public static class ZipStreamHelper { 20 - #region Compress and encode 21 - /// <summary> 22 - /// Comprimeer een string en geeft deze terug in Base64 string. 23 - /// </summary> 24 - /// <param name="content">filecontent</param> 25 - /// <returns>gecomprimeerde string</returns> 26 - public static string CompressToBase64String(string content) { 27 - //string to byte[] 28 - byte[] contentArray = stringToByteArray(content); 29 - // Compress 30 - byte[] compressed = Compress(contentArray); 31 - return base64_encode(compressed); 32 - } 33 - 34 - /// <summary> 35 - /// Zet een string om naar een ByteArray 36 - /// </summary> 37 - /// <param name="content">filecontent</param> 38 - /// <returns>ByteArray</returns> 39 - public static byte[] stringToByteArray(string content) { 40 - System.Text.UTF8Encoding encoding = new System.Text.UTF8Encoding(); 41 - return encoding.GetBytes(content); 42 - } 43 - 44 - /// <summary> 45 - /// comprimeer een ByteArray 46 - /// </summary> 47 - /// <param name="data">filedata als ByteArray</param> 48 - /// <returns>gecomprimeerde ByteArray</returns> 49 - public static byte[] Compress(byte[] data) { 50 - using(var compressedStream = new MemoryStream()) 51 - using(var zipStream = new GZipStream(compressedStream, CompressionMode.Compress)) { 52 - zipStream.Write(data, 0, data.Length); 53 - zipStream.Close(); 54 - return compressedStream.ToArray(); 55 - } 56 - } 57 - 58 - /// <summary> 59 - /// Zet een ByteArray om naar een Base64 string 60 - /// </summary> 61 - /// <param name="data">gecomprimeerde ByteArray</param> 62 - /// <returns>Base 64 string</returns> 63 - public static string base64_encode(byte[] data) { 64 - if (data == null) 65 - return string.Empty; 66 - return Convert.ToBase64String(data); 67 - } 68 - 69 - /// <summary> 70 - /// Zet een string om naar een Base64 string 71 - /// </summary> 72 - /// <param name="data">string</param> 73 - /// <returns>Base 64 string</returns> 74 - public static string string_base64_encode(string data) { 75 - if (string.IsNullOrEmpty(data)) 76 - return string.Empty; 77 - 78 - //string to byte[] 79 - byte[] contentArray = stringToByteArray(data); 80 - return base64_encode(contentArray); 81 - } 82 - #endregion 83 - 84 - #region Decompress and decode 85 - // Decode and decompress 86 - /// <summary> 87 - /// Decomprimeer een Base64 string naar een string 88 - /// </summary> 89 - /// <param name="contentBase64">GZIP Base64 string</param> 90 - /// <returns>string</returns> 91 - public static string DecompressBase64StringToString(string contentBase64) { 92 - // Decompress 93 - byte[] decoded = base64_decode(contentBase64); 94 - byte[] decompressed = Decompress(decoded); 95 - 96 - return byteArrayTostring(decompressed); 97 - } 98 - 99 - /// <summary> 100 - /// Zet een ByteArray om in een normale string 101 - /// </summary> 102 - /// <param name="data">ByteArray</param> 103 - /// <returns>string</returns> 104 - public static string byteArrayTostring(byte[] data) { 105 - System.Text.UTF8Encoding enc = new System.Text.UTF8Encoding(); 106 - return enc.GetString(data); 107 - } 108 - 109 - /// <summary> 110 - /// Zet een Base64 string om naar een ByteArray 111 - /// </summary> 112 - /// <param name="encodedData">Base64 string</param> 113 - /// <returns>gecomprimeerde ByteArray</returns> 114 - public static byte[] base64_decode(string encodedData) { 115 - byte[] encodedDataAsBytes = Convert.FromBase64String(encodedData); 116 - return encodedDataAsBytes; 117 - } 118 - 119 - /// <summary> 120 - /// Zet een gecomprimeerde ByteArray om in een ByteArray 121 - /// </summary> 122 - /// <param name="data">gecomprimeerde ByteArray</param> 123 - /// <returns>ByteArray (gedecomprimeerd)</returns> 124 - public static byte[] Decompress(byte[] data) { 125 - using(var compressedStream = new MemoryStream(data)) 126 - using(var zipStream = new GZipStream(compressedStream, CompressionMode.Decompress)) 127 - using(var resultStream = new MemoryStream()) { 128 - var buffer = new byte[4096]; 129 - int read; 130 - 131 - while ((read = zipStream.Read(buffer, 0, buffer.Length)) > 0) { 132 - resultStream.Write(buffer, 0, read); 133 - } 134 - 135 - return resultStream.ToArray(); 136 - } 137 - } 138 - #endregion 139 -} 140 -{{/code}}
- 1738665800830-816.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.RjDaams - Size
-
... ... @@ -1,1 +1,0 @@ 1 -112.6 KB - Content