现在用C#做了一个工程,其中用到了字符数组的转化
就是普通的16进制和字符串的转化
例如:字符串“80 80 52 00 00 00 52 00”要转化成一个字符数组{0x80,0x80,....}
还有一个字符数组{0x80,0x80,....}要转化成一个字符串"80 80 ...."在VB.NET中,我使用Hex和Val("&H"+str)可视实现但是在C#.NET如何实现呢?
就是普通的16进制和字符串的转化
例如:字符串“80 80 52 00 00 00 52 00”要转化成一个字符数组{0x80,0x80,....}
还有一个字符数组{0x80,0x80,....}要转化成一个字符串"80 80 ...."在VB.NET中,我使用Hex和Val("&H"+str)可视实现但是在C#.NET如何实现呢?
解决方案 »
- 关于 SQLITE 的一个问题
- 用AesCryptoServiceProvider加密的文件如何用C/C++来解密?
- 倒三角形 怎样补充代码
- 3层开发指的哪3层?
- 设置等待时间
- 高手帮忙:在c#中用API编写防火墙的问题
- GridControl主从表获取从表值问题
- 请问哪有.net中 web treeview的介绍文章,最好是比较详细一些的,谢谢
- System.Xml名称空间里面,有没有能操作XmlNameSpace的类型?
- 请问Microsoft CDO for windows 2000 Library如何注册这个组件
- 怎么判断MyCommand.ExecuteScalar()查询后是否有记录?问题解决就结帖,在线等……
- 苯熊问题:建立一个webform,就放了一个label控件,但是没有办法运行,报"未能加载类application.global",怎么回事???
应该有两者之间相互转换的方法的
例如输入“80 80 52 00”
输出的是一个字节数组{0x80,0x80,0x52,0x00}
还有反转化
反转时,我使用ToString("X")可以转化128以下的,128以上的不对
str长度为4,值为str[0]=0x80;str[1]=0x80;str[2]=0x52;str[4]=0x00;
我要把它转化成另一个string = "80 80 52 00"
C#里面只要添加对Microsoft.VisualBasic程序集的引用
,然后通过Microsoft.VisualBasic.Conversion.Hex访问hex和val函数了
C#里面只要添加对Microsoft.VisualBasic程序集的引用
,然后通过Microsoft.VisualBasic.Conversion.Hex访问hex和val函数了
str长度为4,值为str[0]=0x80;str[1]=0x80;str[2]=0x52;str[4]=0x00;
我要把它转化成另一个string = "80 80 52 00"
对每个分别转字符串,再用一个foreach循环把他们连起来(同时加空格)
用了
for(int i=0;i<str.Length;i+=3)
buf += (char)int.Parse(str.Substring(i,2),System.Globalization.NumberStyles.HexNumber);
string类型的变量每个字节可以接收大于128的值吗?
在.NET中,char是16位的,用unicode保存的,
所以可以接受的最大值是65535另外,在拼接字符串的时候用StringBuilder类StirngBuilder buf = new StirngBuilder ();for(int i=0;i<str.Length;i+=3)
buf.Append((char)int.Parse(str.Substring(i,2),System.Globalization.NumberStyles.HexNumber));
性能上有很大差别的