日期:2014-05-18  浏览次数:20787 次

把字符串转换为特定的数组。
C# code

float ff = 3.14F;
byte[] bb = BitConverter.GetBytes(ff);
Array.Reverse(bb);
string s = BitConverter.ToString(bb); // s="40-48-F5-C3"



现在我想把字符串s 转换为数组形式。每个字节为数组的一个元素。

比如这个s是四个字节的,
byte[] b = new byte[4];
b[0] = 0x40;
b[1] = 0x48;
b[2] = 0xF5;
b[3] = 0xC3;

就是创建这个数组,并复制。每个字节为一个数组。
因为要进行校验,得闲转换为数组形式。



------解决方案--------------------
Array.Reverse(bb)后,bb 不就是嘛,里面就是你要的值啊,10进制64就是十六进制40,其他也一样
------解决方案--------------------
C# code
            string[] list=s.Split(new char[] { '-' }, StringSplitOptions.RemoveEmptyEntries);
            byte[] buf=new byte[list.Length];
            for (int i = 0; i < list.Length; i++)
                buf[i] =byte.Parse(list[i],System.Globalization.NumberStyles.AllowHexSpecifier);