比如
string = "A0 CC 10 1A";
转换成
1010 0000 .......
这样的二进制?

谢谢

解决方案 »

  1.   

     这个函数负责将字符转换成十六进制public string Data_Hex_Asc(ref string Data){    string Data1 = "";    string sData = "";    while (Data.Length > 0)    //first take two hex value using substring.    //then convert Hex value into ascii.    //then convert ascii value into character.    {
            Data1 = System.Convert.ToChar(System.Convert.ToUInt32(Data.Substring(0, 2),  16)).ToString();        sData = sData + Data1;         Data = Data.Substring(2, Data.Length - 2);    }
        return sData;
    } Data_Asc_Hex(data)   这个函数负责将十六进制转换成字符public string Data_Asc_Hex(ref string Data)
    {
        //first take each charcter using substring.
        //then convert character into ascii.
        //then convert ascii value into Hex Format
        string sValue;
        string sHex = "";
        while (Data.Length > 0)
        {
            sValue = Conversion.Hex(Strings.Asc(Data.Substring(0, 1).ToString()));
            Data = Data.Substring(1, Data.Length - 1);
            sHex = sHex + sValue;
        }
        return sHex;
    }
      

  2.   

                string s = "A0 CC 10 1A";
                s = s.Replace(" ", "");
                int n = int.Parse(s, NumberStyles.HexNumber);
                MessageBox.Show(Convert.ToString(n, 2));
      

  3.   

     string ss=Convert.ToString((Convert.ToInt32("aa", 16)), 2));
      

  4.   

    参考如下代码:
    private string HexToBin(string AHex)
    {
        AHex = AHex.ToLower().Replace(" ", "");
        StringBuilder result = new StringBuilder(AHex.Length * 4);
        foreach (char c in AHex)
        {
            int i = "0123456789abcdef".IndexOf(c);
            if (i >= 0)
            {
                string s = Convert.ToString(i, 2);
                result.Append(" 000".Substring(0, 5 - s.Length) + s);
            }
        }
        return result.ToString().Trim();
    }private void button2_Click(object sender, EventArgs e)
    {
        string s = "A0 CC 10 1A";
        MessageBox.Show(HexToBin(s));
    }
      

  5.   

    先谢谢各位了
    刚开始用c sharp待会有空了给分 :)
      

  6.   


            public static byte[] StringToBinaries( string str ) {
                str = str.Replace(" ", "");
                byte[] binaries = new byte[str.Length / 2];
                for (int i = 0; i < str.Length; ) {
                    byte b = ( byte )"0123456789ABCDEF".IndexOf( str[i++] );
                    b <<= 4;
                    b += (byte)"0123456789ABCDEF".IndexOf(str[i]);
                    binaries[ i / 2 ] = b;
                    i++;
                }
                return binaries;
            }
    我的意思是将一连串不定长的字符转换成binaries
    这是我后来写的
      

  7.   

    楼主你没考虑小写abcde的问题
    如下代码基本一样,不过用得是标准的TryParse()转换
    public byte[] HexToBytes(string AHex)
    {
        AHex = AHex.Replace(" ", "");
        if (AHex.Length <= 0) return null;
        byte[] Result = new byte[AHex.Length / 2];
        for (int i = 0; i < AHex.Length; i += 2)
            if (!byte.TryParse(AHex.Substring(i, 2), 
                System.Globalization.NumberStyles.HexNumber, null, out Result[i / 2]))
                Result[i / 2] = 0;
        return Result;
    }