- 浏览: 281702 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
weituotian:
这篇文章真的很好阿
C#利用反射,遍历获得一个类的所有属性名,以及该类的实例的所有属性的值 -
clshuai:
博主,你好,看了你的这篇文章,让我很敬佩。可谓内容之全,涵盖范 ...
C#操作Excel -
devilhand:
DataGridView刷新数据的问题 -
devilhand:
DataGridView刷新数据的问题 -
devilhand:
DataGridView刷新数据的问题
#region 用回车键替换Tab private void AccessoryInfo_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == (char)Keys.Enter) { if ((this.ActiveControl is TextBox)) SendKeys.Send("{TAB}"); e.Handled = true; } } #endregion
//字符串右对齐不够2位的用'0'填充 PadLeft(2, '0') //在类前面加 [Serializable]表示类可以被序列化 [Serializable]
//压缩 using System.IO.Compression; public static void Compress(Stream source, Stream dest, int size) { source.Position = 0; dest.Position = 0; using (GZipStream zipStream = new GZipStream(dest, CompressionMode.Compress, true)) { byte[] buf = new byte[size]; int len; //把source中的内容读到buf中 while ((len = source.Read(buf, 0, buf.Length)) > 0) { //把buf中的内容写到zipStream中并压缩 zipStream.Write(buf, 0, len); } } }
//解压 public static void Decompress(Stream source, Stream dest, int size) { source.Position = 0; dest.Position = 0; using (GZipStream zipStream = new GZipStream(source, CompressionMode.Decompress, true)) { byte[] buf = new byte[size]; int len; while ((len = zipStream.Read(buf, 0, buf.Length)) > 0) { dest.Write(buf, 0, len); } } }
//把内存流写到文件 #region WriteToFile public static void WriteToFile(MemoryStream mem, string fileName) { long pos = mem.Position; mem.Position = 0; using (FileStream file = new FileStream(fileName, FileMode.Create)) { mem.WriteTo(file); file.Close(); } mem.Position = pos; return; } #endregion
//把字节数组写到文件 #region WriteToFile public static void WriteToFile(byte[] data, string fileName) { using (FileStream fileStream = new FileStream(fileName, FileMode.Create)) { fileStream.Write(data, 0, data.Length); fileStream.Close(); } } #endregion
//序列化并压缩一个对象 public static byte[] Pack(object obj) { byte[] ret; BinaryFormatter formatter = new BinaryFormatter(); using (MemoryStream stream1 = new MemoryStream()) { formatter.Serialize(stream1, obj); using (MemoryStream stream2 = new MemoryStream()) { Compress(stream1, stream2, 4096); ret = stream2.ToArray(); } } return ret; }
//解压缩、反序列化并得到一个对象 public static object UnPAck(byte[] data) { object obj; using (MemoryStream stream1 = new MemoryStream()) { stream1.Write(data, 0, data.Length); using (MemoryStream stream2 = new MemoryStream()) { Decompress(stream1, stream2, 4096); BinaryFormatter formatter = new BinaryFormatter(); stream2.Position = 0; obj = formatter.Deserialize(stream2); } } return obj; }
//根据指定的开始位置和长度解压和反序列化一个字节数组并返回一个对象 public static object UnPAck(byte[] data, int offset, int len) { object obj; using (MemoryStream stream1 = new MemoryStream()) { stream1.Write(data, offset, len); using (MemoryStream stream2 = new MemoryStream()) { Decompress(stream1, stream2, 4096); BinaryFormatter formatter = new BinaryFormatter(); stream2.Position = 0; obj = formatter.Deserialize(stream2); } } return obj; }
//计算字符串的MD5码 public static string MD5Digest(string str) { string pwd = ""; if (str != "") { MD5 inst = MD5.Create(); // 加密后是一个字节类型的数组,这里要注意编码UTF8/Unicode等的选择 byte[] s = inst.ComputeHash(System.Text.Encoding.UTF8.GetBytes(str)); // 通过使用循环,将字节类型的数组转换为字符串,此字符串是常规字符格式化所得 for (int i = 0; i < s.Length; i++) { // 将得到的字符串使用十六进制类型格式。格式后的字符是小写的字母,如果使用大写(X)则格式后的字符是大写字符 pwd = pwd + s[i].ToString("X2"); } } return pwd; } //X2中的X表示十六进制,2表示每次按2位输出,例如:两个数10和26,正常情况十六进制显示0xA、0x1A,这样看起来不整齐,为了好看,我们可以指定X2,这样显示出来就是:0x0A、0x1A。
//计算一字节数组的MD5码 public static string MD5Digest(byte[] data) { string pwd = ""; if (data.Length > 0) { MD5 inst = MD5.Create(); byte[] s = inst.ComputeHash(data); for (int i = 0; i < s.Length; i++) { // 将得到的字符串使用十六进制类型格式。格式后的字符是小写的字母,如果使用大写(X)则格式后的字符是大写字符 pwd = pwd + s[i].ToString("X2"); } } return pwd; }
//根据指定的开始位置和长度就算以个字节数组的MD5码 public static string MD5Digest(byte[] data, int offset, int len) { string pwd = ""; if (data.Length > 0) { MD5 inst = MD5.Create(); byte[] s = inst.ComputeHash(data, offset, len); for (int i = 0; i < s.Length; i++) { // 将得到的字符串使用十六进制类型格式。格式后的字符是小写的字母,如果使用大写(X)则格式后的字符是大写字符 pwd = pwd + s[i].ToString("X2"); } } return pwd; }
//对称加密 public static string EncryptDiy(string a_strString, string a_strKey) { try { byte[] keyArr = System.Text.Encoding.UTF8.GetBytes(a_strKey); byte key1 = 0; for (int i = 0; i < keyArr.Length; i++) { key1 = (byte)(key1 ^ (keyArr[i])); } byte[] valArr = System.Text.Encoding.UTF8.GetBytes(a_strString); for (int i = 0; i < valArr.Length; i++) { valArr[i] = (byte)((valArr[i]) ^ key1); } return Convert.ToBase64String(valArr); } catch { return ""; } }
//对称解密 public static string DecryptDiy(string a_strString, string a_strKey) { try { byte[] keyArr = System.Text.Encoding.UTF8.GetBytes(a_strKey); byte key1 = 0; for (int i = 0; i < keyArr.Length; i++) { key1 = (byte)(key1 ^ (keyArr[i])); } byte[] valArr = Convert.FromBase64String(a_strString); for (int i = 0; i < valArr.Length; i++) { valArr[i] = (byte)(key1 ^ (valArr[i])); } return System.Text.Encoding.UTF8.GetString(valArr); } catch { return ""; } }
//保留2为小数(四舍五入) private int GetIntVal(string str) { try { const int digit = 2; double value = (double)Convert.ToDecimal(str); double vt = Math.Pow(10, digit); double vx = value * vt; vx += 0.5; return (int)Math.Floor(vx); } catch { return 0; } }
发表评论
-
获取批处理文件路径
2010-12-08 20:36 826@echo off echo 该批处理文件: echo 所 ... -
预览文章: asp.net 回发或回调参数无效。在配置中使用 或在页面中使用 启用了事件验证
2010-07-01 15:56 1529异常详细信息: System.ArgumentExceptio ... -
改变交叉表的行标题和列标题
2010-06-30 12:57 940以后写 -
ASP.NET中如何实现FORM认证登录
2010-06-14 13:55 1761如何运用 Form 表单认证 ... -
重新注册asp.net 2.0
2010-06-14 10:58 1118运行 C:\WINDOWS\Microsoft.NET\Fra ... -
发布到IIS后水晶报表的图片显示不了
2010-06-13 18:40 1897原因:没有安装 Crystal Report ... -
网站的预编译
2010-05-30 02:55 9101、找到aspnet_compiler.exe的路径 ... -
VS2005 Web项目安装部署:利用预编译的Dll 隐藏.cs文件
2010-05-30 01:39 18651.新建一ASP.NET网站2.利用aspnet_compil ... -
获取正在执行的方法的信息
2010-04-28 10:30 977System.Diagnostics.StackTrace ... -
log4net在winforn中的使用
2010-04-26 18:54 9711、新建一个面目 2、添加引用(添加log4net.dll的 ... -
上传图片
2010-04-11 23:45 972using System; using System.Col ... -
常用代码
2010-04-11 23:23 853//添加连接 第一个<appSetting/>后 ... -
连接数据库代码
2010-04-11 23:22 688//添加连接 第一个<appSetting/>后 ... -
数据库操作代码
2010-04-11 23:17 922/****************************** ... -
在中文版VS 08中安装MVC
2010-03-10 20:21 1513看到微软MIX08大会的产 ... -
编程遍历页面上所有TextBox控件并给它赋值为string.Empty
2010-03-09 12:44 1802foreach (System.Windows.Forms.C ... -
图表的绘制
2010-02-26 17:12 774//图表的绘制兵保存为gif格式 int height ... -
ViewState与Session
2010-01-17 05:40 1374昨天偶然看到网上有人讨论究竟是该用viewstate还是ses ... -
后台调用前台的js
2010-01-05 01:24 2221(1)在类似于onload的初始化过程中添加Attribute ... -
前台调用后台代码
2010-01-05 01:09 1508(1)在后台写一个名为GetString()的方法: pu ...
相关推荐
在本文中,我们将深入探讨如何使用Visual C++(VC)进行串口通信和多通道数据传输。串口通信是计算机通信技术中一个基础且重要的部分,尤其在嵌入式系统和设备之间进行数据交换时非常常见。通过多通道通信,我们可以...
- **外围设备接口**:例如USB、PCIe等高速接口,在数据传输时也会用到DMA技术。 ### DMA控制器的实现 1. **硬件实现**:专用的DMA控制器芯片,独立于CPU,负责管理和协调DMA操作。 2. **软件实现**:操作系统内核...
在IT领域,无线网络技术,特别是Wi-Fi,已经成为日常生活中数据传输的重要手段。"WiFi进行数据传输DEMO.zip"这个压缩包文件很可能是提供了一个演示或实例,用于展示如何通过Wi-Fi实现数据交换。让我们深入探讨一下Wi...
在编程实现TCP和UDP数据传输时,通常会用到socket编程接口。在C++、Java、Python等语言中,都有对应的socket库提供API来创建、绑定、监听、接受连接和发送/接收数据。对于TCP,我们需要创建一个TCP socket,然后调用...
在IT行业中,网络通信是至关重要的一个领域,TCP(Transmission Control Protocol)作为传输层协议,为应用程序提供了可靠的、面向连接的数据传输服务。本项目“TCP传输double数据.zip”聚焦于利用TCP协议在客户端和...
在IT行业中,TCP/IP数据传输协议是网络通信的基础,它为设备间的可靠数据交换提供了标准。TCP(Transmission Control Protocol)负责确保数据包的正确顺序和完整性,而IP(Internet Protocol)则负责数据包的路由和...
在Android平台上实现基于热点局域网的数据传输是一个常见的需求,特别是在多设备互动或者实时通信的应用中。本项目涉及的关键技术是XMPP聊天通讯和Socket编程,这两种技术在移动设备间的实时通信中扮演着核心角色。 ...
在网络游戏领域,有效地管理通过网络连接的数据传输是至关重要的,特别是在资源有限且用户对游戏体验有高要求的情况下。本文档“基于优先级和数据使用计划来管理通过网络连接的数据传输”探讨了如何优化这一过程,...
综上所述,"transferDialog"项目在实现局域网内的数据传输时,需关注网络协议、文件编码、用户交互、安全性、性能优化等多个方面,确保高效、安全且无乱码的文件传输体验。通过深入理解这些知识点,开发者可以构建出...
标题中的“OCCI输出口 大数据传输 C++”指的是使用C++编程语言,通过Oracle Call Interface (OCCI) 来实现对Oracle数据库的大数据传输。OCCI是Oracle公司提供的一个C++接口,用于访问和操作Oracle数据库,它使得...
标题中的“PIC单片机SPI数据传输代码”指的是在微控制器 PIC 单片机上实现的SPI(Serial Peripheral Interface)通信协议的程序代码。SPI是一种同步串行接口,广泛用于微控制器与各种外设之间进行高速数据传输,如...
数据传输速率和误码率是计算机网络中两个关键的性能指标,它们衡量了信息在通信信道中的传输质量和效率。 数据传输速率,也称为比特率,是指每秒钟传输的二进制位数,单位通常为比特每秒(bps)。这个速率反映了...
在Android平台上进行局域网数据传输,特别是在热点局域网环境下,通常会涉及到网络编程的基础知识,特别是Socket通信。Socket是TCP/IP协议族的一部分,它为应用程序提供了低级别的、进程间的数据通信机制,使得两台...
嵌入式WinCE平台下的频谱数据传输控制涉及到的几个重要知识点包括: 1. 频谱分析仪与频谱数据实时采集系统 频谱分析仪是一种电子测量仪器,用于分析不同频率信号的强度,俗称频域示波器。它在多个领域中都有广泛的...
5. **无线传输方案设计**:设计无线数据传输方案时,需要考虑以下几点:(1)选择合适的无线通信标准和技术;(2)确定传输速率、距离和功耗需求;(3)处理信号干扰和噪声;(4)实现数据的安全加密;(5)设计合理的网络拓扑...
在本项目中,“gmii模式下de2的以太网数据传输verilog”指的是使用Verilog硬件描述语言,在DE2开发板上实现以太网数据传输,特别是在GMII(Gigabit Media Independent Interface)模式下。 1. **GMII模式**: GMII...
标题中的"HRD.rar_数据传输_服务器 csharp"表明这是一个关于使用C#语言实现的服务器端和客户端数据传输的项目,重点在于红绿灯系统的模拟。在这个项目中,我们可能涉及以下几个重要的IT知识点: 1. **C#编程语言**...
在电子政务领域,可能还会用到一些专用的高速接口连接器,如PCI Express(PCIe)和Thunderbolt等,它们提供更高的带宽,满足大数据量的传输需求。 在选择这些连接器时,需要考虑以下关键因素: 1. **兼容性**:...
在网络编程中,通常会用到Socket或者HTTP协议进行数据传输。以下是一个简单的TCP Socket数据传输的Java示例: ```java import java.io.*; import java.net.*; public class SocketExample { public static void ...
在Windows x64环境下,开发涉及HTTPS数据传输的软件时,常常需要用到libcurl库和openssl库。libcurl是一个强大的客户端URL传输库,支持多种网络协议,包括HTTPS;而openssl则是一个开源的加密库,提供了SSL/TLS协议...