在.Net Compact Framework 3.5中将数据加压
using System; using System.Linq; using System.Collections.Generic; using System.Text; using System.IO; using System.IO.Compression; namespace MRSDataSync.Helper { public class GZip { private Encoding encode = Encoding.UTF8; public byte[] zipData(byte[] inputData) { if (inputData == null) { throw new ArgumentNullException("input data cannot be null."); } byte[] result; #region MS compressor MemoryStream mso = null; try { mso = new MemoryStream(); GZipStream gzipStream = null; try { gzipStream = new GZipStream(mso, CompressionMode.Compress, false); gzipStream.Write(inputData, 0, inputData.Length); } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex.Message + "\r\n" + ex.StackTrace); throw; } finally { if (gzipStream != null) { gzipStream.Close(); gzipStream.Dispose(); gzipStream = null; } } result = mso.ToArray(); } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex.Message + "\r\n" + ex.StackTrace); throw; } finally { if (mso != null) { mso.Close(); mso.Dispose(); mso = null; } } return result; #endregion } public byte[] unZipData(byte[] inputData) { if (inputData == null) { throw new ArgumentNullException("input data cannot be null."); } byte[] result; #region MS decompressor MemoryStream msi = null; MemoryStream mso = null; try { msi = new MemoryStream(inputData); mso = new MemoryStream(); GZipStream gzipStream = null; try { gzipStream = new GZipStream(msi, CompressionMode.Decompress, false); #region copy stream const int BUFFER_SIZE = 4096; byte[] buffer = new byte[BUFFER_SIZE]; int bytesRead; long totalBytesRead = 0; while ((bytesRead = gzipStream.Read(buffer, 0, BUFFER_SIZE)) != 0) { mso.Write(buffer, 0, bytesRead); totalBytesRead += bytesRead; } mso.Flush(); #endregion } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex.Message + "\r\n" + ex.StackTrace); throw; } finally { if (gzipStream != null) { gzipStream.Close(); gzipStream.Dispose(); gzipStream = null; } } result = mso.ToArray(); } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex.Message + "\r\n" + ex.StackTrace); throw; } finally { if (msi != null) { msi.Close(); msi.Dispose(); msi = null; } if (mso != null) { mso.Close(); mso.Dispose(); mso = null; } } return result; #endregion } public byte[] zipStr2Data(string inputData) { byte[] strData = encode.GetBytes(inputData); return zipData(strData); } public string unZipData2Str(byte[] inputdata) { byte[] outData = unZipData(inputdata); return encode.GetString(outData, 0, outData.Length); } } }
相关推荐
.NET Compact Framework 3.5是微软为嵌入式设备和移动平台开发的应用程序提供的一套框架,它在.NET Framework的基础上进行了优化,以适应资源有限的环境。这个版本引入了许多新特性和改进,使得开发者能够在小型设备...
1. LINQ支持:.NET Compact Framework 3.5引入了Language Integrated Query (LINQ)的支持,这是一项革命性的编程技术,允许开发者使用自然的SQL语法直接在C#或VB.NET代码中进行数据查询。这极大地简化了数据访问和...
2. **开发工具**:开发者通常使用Visual Studio 2008或更高版本来开发.NET Compact Framework 3.5的应用程序,这些工具提供了一整套集成开发环境(IDE),包括代码编辑器、调试器和项目管理工具。 3. **类库**:...
综上所述,通过使用 Visual Studio 2008 和 .NET Compact Framework 3.5,开发者能够高效地为 Windows Mobile 6.0 设备开发高质量的应用程序。这些工具和技术不仅简化了开发过程,还提升了最终用户的使用体验。
在本课程中,我们将深入探讨如何使用Visual Studio 2008和.NET Compact Framework 3.5来构建针对移动设备的应用程序。Visual Studio 2008是Microsoft提供的一款强大的集成开发环境(IDE),它为开发者提供了丰富的...
系统环境 Microsoft.NET Compact Framework 3.5_PocketPC 5.0_PocketPC 6.0(6.5).cab
包括《Windows CE.net内核定制及应用开发.pdf》、《Microsoft .NET mobiililaitteille: .NET Compact Framework.pdf》和《Microsoft .NET Compact Framework 3.5版的新特性.pdf》。
.NET Compact Framework是微软为移动设备和嵌入式系统设计的一个精简版.NET Framework,它为开发者提供了一个在Windows Mobile、Windows CE(包括Wince)等平台上构建应用程序的强大环境。本书将深入探讨这一框架的...
标题中的".NET Compact Framework 2.0.zip"表明这是一个包含.NET Compact Framework 2.0相关组件的压缩文件,用户可以通过解压并安装其中的CAB包来在PDA环境下部署.NET环境和SQL Server支持。 描述中提到的"两个PDA...
此安装程序数据库中包含安装 Microsoft .NET Compact Framework 2.0 所需的逻辑和数据
通过使用 .NET Framework 3.5,开发者可以轻松地开发桌面应用程序、Web 应用程序、移动应用程序以及服务导向架构等。此外,.NET Framework 3.5 还提供了大量的类库和功能模块,使得开发过程更加高效和便捷。
这个是WinCE 5.0或WinCE 6.0开发应用程序可以用到的,只要引用Compact文件夹里面的Newtonsoft.Json.Compact.dll文件就可以使用了,引用需要用到.Net Framework Compact 3.5版本,最好搭上Visual Studio 2008
4. **WinCE端的应用开发**:在Windows CE设备上开发.NET应用,通常需要使用Visual Studio的特定版本,并选择.NET Compact Framework作为目标框架。开发者可以使用C#或VB.NET编写代码,然后利用模拟器或实际设备进行...
.net compact framework 自定义Radiobutton