热度 19
2013-12-1 09:34
1903 次阅读|
0 个评论
染指C#, 入门时觉得比较方便,但数字,数值,字符串之间的转换有不太容易搞清楚。我整理了一个简单的类,让大家指点一下。我使用静态类,好处就是不用声明,就能直接使用。有了这个类,字串符与16进制之间的那点事就好搞多了。 static class HConvert { // 将字串所代表的值转换成数组, 右对齐 public static byte res; if (len == 0) return null; else res = new byte ; string s; int i; for (i = 0; i res.Length - 1; i++) { s = str.Substring(i * 2, 2); try { res = Convert.ToByte(s, 16); } catch { res = 0x00; } } s = str.Substring(i * 2, str.Length - i * 2); try { res = Convert.ToByte(s, 16); } catch { res = 0x00; } return res; } // 将数组打印为16进制的字串, ch用于指令间隔字符,比如' '空格 public static string Hexbytes2String(byte .ToString("X2") + ch); } sb.Remove(sb.Length - 1, 1); string s = sb.ToString(); return s; } // 将一串16进制显示的字符转换成其字符串,如41 -A public static string Hexstring2String(string str) { byte[] bs = String2Hexbytes(str); StringBuilder sb = new StringBuilder(); foreach (byte b in bs) { char a = (char)b; sb.AppendFormat("{0} ", a); } return sb.ToString(); } } 当然,还有Convert.toint16, .ToString("X4", var)等方法也是非常非常有用的。 (尊重劳动成果,转载请注意出处 原方链接 ) NewBit Studio 2013