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

(急急急)字符转换问题:如何将十六进制字符串转换为ushort[]
如题:已知 String REQ = "8A700b01c00c00b000b1FF1500"; ushort[] test = new ushort[1024];

怎么把REQ的数据转换到一个ushort[]数组中呢?结果要test [0]=8A,test [1]=70,test[2]=0b 。。。。。以此类推。

------解决方案--------------------
ushort 关键字表示整数数据类型,如果想你说的数组test [0]=8A,是不可能的,上面只是将对应值转换成16进制的然后保存在ushort【】

除非如下保存
C# code
  String REQ = "8A700b01c00c00b000b1FF1500";
            string[] ss = Regex.Split(REQ, @"(?<=\G\w{2})", RegexOptions.IgnorePatternWhitespace).Where(a => !string.IsNullOrEmpty(a)).Select(a => a).ToArray();
            /*
             *         [0]    "8A"    string
                    [1]    "70"    string
                    [2]    "0b"    string
                    [3]    "01"    string
                    [4]    "c0"    string

             */

------解决方案--------------------
ushort保存的就是十进制,你想取得二进制还是十六进制关键在于你如何转换
探讨

结果不是这样的,我想要的那种,我刚才测试了,还是十进制的。