Microsoft.VisualBasic 空间Strings.Chr(31)

解决方案 »

  1.   

    49对应的ASCII才是"1",怎么31会是"1"呢?
    string s="49";
    byte byt = byte.Parse(s);
    char c = (char)byt;
    MessageBox.Show(c.ToString());
      

  2.   

    亏得楼上都有两个红星了,连这个都没有想明白。
    31是16进制的31,就是49
    所以应该这样写(char)0x31
      

  3.   

    1是16进制的31^_^
    //十六进制(string)转化为十进制(int)
    string strBase16 = "31";
    int j =  Convert.ToInt32(strBase16,16);
    char str = (char) j ;
    //str.ToString( ) 为 1 ;
      

  4.   

    private static byte btParse(string strOne)
    {
    try
    {
    byte byt = Convert.ToByte(strOne,16);
    return byt;
    }
    catch
    {
    byte byt = Convert.ToByte("EE",16);
    return byt;
    }
    }
    private static byte[] Compress(string strRaw)

    byte[] btReturn = null;
    if(strRaw.Length >= 2)
    {
    if(!(strRaw.Length%2==0))
    {
    strRaw = strRaw + "E";
    }

    btReturn = new byte[strRaw.Length/2];
    for(int i=0;i<strRaw.Length/2;i++)
    {
    btReturn[i] = btParse(strRaw.Substring(i * 2,2));
    }
    }

    return btReturn;
    }
      

  5.   

    private void button2_Click(object sender, System.EventArgs e)
    {
    string strTest = "";
    byte[] byteData = Compress("BOYCONTROL0113317183637");
    for(int i=0;i<byteData.Length;i++)
    {
    strTest += byteData[i].ToString("X2");
    }

    MessageBox.Show(strTest);
    }
    private static byte btParse(string strOne)
    {
    try
    {
    byte byt = Convert.ToByte(strOne,16);
    return byt;
    }
    catch
    {
    byte byt = Convert.ToByte("EE",16);
    return byt;
    }
    }
    private static byte[] Compress(string strRaw)

    byte[] btReturn = null;
    if(strRaw.Length >= 2)
    {
    if(!(strRaw.Length%2==0))
    {
    strRaw = strRaw + "E";
    }

    btReturn = new byte[strRaw.Length/2];
    for(int i=0;i<strRaw.Length/2;i++)
    {
    btReturn[i] = btParse(strRaw.Substring(i * 2,2));
    }
    }

    return btReturn;
    }
      

  6.   

    happyjun2000(蓝色游侠∮http://Community.CSDN.NET)说的对