现在用C#做了一个工程,其中用到了字符数组的转化
就是普通的16进制和字符串的转化
例如:字符串“80 80 52 00 00 00 52 00”要转化成一个字符数组{0x80,0x80,....}
还有一个字符数组{0x80,0x80,....}要转化成一个字符串"80 80 ...."在VB.NET中,我使用Hex和Val("&H"+str)可视实现但是在C#.NET如何实现呢?

解决方案 »

  1.   

    字节转16位 Convert.ToString(b[0],16)
      

  2.   

    查帮助convert看看
    应该有两者之间相互转换的方法的
      

  3.   

    我想把字符串转化为数字
    例如输入“80 80 52 00”
    输出的是一个字节数组{0x80,0x80,0x52,0x00}
    还有反转化
    反转时,我使用ToString("X")可以转化128以下的,128以上的不对
      

  4.   

    就是现在有一个string str;
    str长度为4,值为str[0]=0x80;str[1]=0x80;str[2]=0x52;str[4]=0x00;
    我要把它转化成另一个string = "80 80 52 00"
      

  5.   

    如果你在vb.net里面用Hex和Val("&H"+str)实现了,
    C#里面只要添加对Microsoft.VisualBasic程序集的引用
    ,然后通过Microsoft.VisualBasic.Conversion.Hex访问hex和val函数了
      

  6.   

    如果你在vb.net里面用Hex和Val("&H"+str)实现了,
    C#里面只要添加对Microsoft.VisualBasic程序集的引用
    ,然后通过Microsoft.VisualBasic.Conversion.Hex访问hex和val函数了
      

  7.   

    就是现在有一个string str;
    str长度为4,值为str[0]=0x80;str[1]=0x80;str[2]=0x52;str[4]=0x00;
    我要把它转化成另一个string = "80 80 52 00"
    对每个分别转字符串,再用一个foreach循环把他们连起来(同时加空格)
      

  8.   

    终于解决了
    用了
    for(int i=0;i<str.Length;i+=3)
      buf += (char)int.Parse(str.Substring(i,2),System.Globalization.NumberStyles.HexNumber);
      

  9.   

    还是有点问题?
    string类型的变量每个字节可以接收大于128的值吗?
      

  10.   

    stirng是char的集合,
    在.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));
    性能上有很大差别的