C#中socket编程中文乱码
如果再发送或接收数据如果出现中文乱码,大概是程序中C#中socket编程中文乱码
如:Encoding.ASCII.GetString(bytes, 0, bytesRec);这个是ASCII码转换,如果是中文就出错,所以解决办法改为Encoding.UTF8.GetString(bytes, 0, bytesRec);UTF-8格式,但是要注意,1中文占2个字符。
如果再发送或接收数据如果出现中文乱码,大概是程序中C#中socket编程中文乱码
如:Encoding.ASCII.GetString(bytes, 0, bytesRec);这个是ASCII码转换,如果是中文就出错,所以解决办法改为Encoding.UTF8.GetString(bytes, 0, bytesRec);UTF-8格式,但是要注意,1中文占2个字符。
建立一个解决方案,分别建立两个控制台应用程序,一个是client端,一个是server端,本例子源码来自C#网络编程技术与实践第一章具体如下:程序运行先运行server端,再运行客户端,这里客户端运行data = Encoding.ASCII.GetString(buffer, 0, recv); Console.WriteLine(data);这段代码运行乱码,具体解决下篇介绍
AWS was not able to validate the provided access credentials
c#例子下载地址:http://developer.amazonwebservices.com/connect/kbcategory.jspa?categoryID=129
测试 先是注册amazon,然后找到了ACCESS_KEY_ID,SECRET_ACCESS_KEY
测试上面的c#例子 搞了好久还是那个 远程服务器返回错误: (401) 未经授权
引文
最近发现语音验证码越来越流行,比如有次在注册gmail邮箱看到过,还有msn页面也有语音验证码,还有国外一些网站等。
花时间研究了下,语音验证码主要跟一般验证码的区别就在于如何让验证码播放。本文语音验证码原理:从服务器生成验证码,
并保存到cookie中(getcode.aspx.cs),当点收听验证码的时候,调用javascirpt操作(这里使用jquery)cookie读取验证码,然后把验证码传到codevoice.aspx页,然后按顺序把验证码合成生成一个mp3文件,最后把这个文件传入flash中播放,
你将收听的声音为:“当前验证码是5678请输入”。这个原理也是大部分网站使用的语音验证码原理类似。
程序出现: 警告 1 “System.Net.Dns.GetHostByName(string)”已过时:“GetHostByName is obsoleted for this type, please use GetHostEntry instead. http://go.microsoft.com/fwlink/?linkid=14202”
当从VS2003升级到vs2005,或者vs2005到vs2008,vs2010,经常遇到一些警告过时,此类问题解决主要看提示:GetHostByName is obsoleted for this type, please use GetHostEntry instead. GetHostByName类型已经过时,请用GetHostEntry代替,其它类似问题都可以这样解决。
c#中有条习惯用结构或类来传递多个参数,我这里举个例子如下:
static void Main(string[] args)
{
People p = new People();
p.Name = "云飞扬";
p.age = 27;
p.weburl = "http://www.ajaxcn.net";
Print o = new Print();
o.output(p);
Console.ReadKey();
}
1.NameValueCollection类集合是基于 NameObjectCollectionBase 类。但与 NameObjectCollectionBase 不同,
该类在一个键下存储多个字符串值(就是键相同,值就连接起来如下例子)。该类可用于标头、查询字符串和窗体数据。
每个元素都是一个键/值对。NameValueCollection 的容量是 NameValueCollection 可以保存的元素数。
NameValueCollection 的默认初始容量为零。随着向 NameValueCollection 中添加元素,容量通过重新分配按需自动增加。
如下例子:
2.与Hashtable的区别,有次用Hashtable添加下拉值都对不上,要手动调,如果用这个就不用了
3.初始化NameValueCollection需引用using System.Collections.Specialized;
完整例子源码:
KeyValuePair可以这样实例化
KeyValuePair
取值
Console.Write(mcmillan.Key);
Console.Write(" " + mcmillan.Value);
参考自:http://blog.joycode.com/scottgu/archive/2009/10/24/115756.joy等
VS 2010 和 .NET 4 系列精彩文章推荐 http://blog.joycode.com/scottgu/archive/2009/08/27/115689.joy
1.VS 2010中的代码智能提示
现在让我们在VS 2010中试一下同一个例子。当我们在VS 2010中键入“GridView1.Edit”时,我们会发现EditIndex属性依然会被高亮显示,但智能提示列表也被过滤过了,使你能很快地定位名称中任何地方含有“Edit”一词的所有其他成员:
2.搜寻关键词
asp.net Split和Join的用法
本程序通过对data去掉","后保存到sdata,然后给sdata通过String.Join加上","
C#创建Windows安装卸载启动关闭服务命令总结
创建windows服务让采集自动运行,本篇涉及命令总结
安装服务
%WinDir%\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe CJ.WS.exe
卸载服务时
%WinDir%\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe /u CJ.WS.exe
启动服务 C:\WINDOWS\system32\net.exe start cjautorun 在cmd命令下简写net start cjautorun
停止服务 C:\WINDOWS\system32\net.exe stop cjautorun 在cmd命令下简写 net stop cjautorun
关于ConnectionString及appSettings未将对象引用设置到对象的实例
在webconfig有时用哪种方式读取数据库链接有时比较乱,弄反则出现未将对象引用设置到对象的实例错误,所以应该总结下
string s = ConfigurationManager.AppSettings["ajaxcnnetConnection"].ToString();
修改了下上次写过的一篇string类与StringBuilder类性能比较 http://www.ajaxcn.net/archives/499,这次使用Stopwatch类,
使计算的时间更为准确,从结果来看,字符100个string的时候要少于stringbuilder,而1000以上stringbuilder优于string
我们都知道StringBuilder的性能要比string类,是否具体测试过呢,我这里就给出这个程序供测试,一个是Timing类,用来计算时间的。另外一个类就是分别建立string,和stringbuider 类建立100,1000,10000,100000字符连接进行比较。
很久没用GridView了,上次看到有位同事搞出来,后来问过来的代码忘了,今天整理下以前弄的东西,并借助网络,终于解决了,
e.Row.Attributes.Add("onclick", "if(window.oldtr!=null){window.oldtr.runtimeStyle.cssText='';}this.runtimeStyle.cssText='background-color:#99cc00';window.oldtr=this");