- 2
- 0
- 约4.84千字
- 约 4页
- 2017-06-11 发布于北京
- 举报
1.请问c#中如何将十进制数的字符串转化成十六进制数的字符串//十进制转二进制Console.WriteLine(十进制166的二进制表示: +Convert.ToString(166, 2));//十进制转八进制Console.WriteLine(十进制166的八进制表示: +Convert.ToString(166, 8));//十进制转十六进制Console.WriteLine(十进制166的十六进制表示: +Convert.ToString(166, 16));????//二进制转十进制Console.WriteLine(二进制 111101 的十进制表示: +Convert.ToInt32(111101, 2));//八进制转十进制Console.WriteLine(八进制 44 的十进制表示: +Convert.ToInt32(44, 8));//十六进制转十进制Console.WriteLine(十六进制 CC的十进制表示: +Convert.ToInt32(CC, 16));
2.在串口通讯过程中,经常要用到 16进制与字符串、字节数组之间的转换//
private string StringToHexString(string s,Encoding encode)??????? {??????????? byte[] b = encode.GetBytes(s);//按照指定编码将string编程字节数组??????????? string result = string.Empty;??????????? for (int i = 0; i b.Length; i++)//逐字节变为16进制字符,以%隔开??????????? {??????????????? result += %+Convert.ToString(b[i], 16);??????????? }??????????? return result;??????? }??????? private string HexStringToString(string hs, Encoding encode)??????? {??????????? //以%分割字符串,并去掉空字符??????????? string[] chars = hs.Split(new char[]{%},StringSplitOptions.RemoveEmptyEntries);??????????? byte[] b = new byte[chars.Length];??????????? //逐个字符变为16进制字节数据??????????? for (int i = 0; i chars.Length; i++)??????????? {??????????????? b[i] = Convert.ToByte(chars[i], 16);??????????? }??????????? //按照指定编码将字节数组变为字符串??????????? return encode.GetString(b);??????? }
?
??????? ///?summary????????///?字符串转16进制字节数组????????///?/summary???????///?param name=hexString/param????????///?returns/returns????????private?static?byte[] strToToHexByte(string?hexString)????????{???????????? hexString?=?hexString.Replace(?,?);???????????if?((hexString.Length?%?2)?!=?0)???????????????? hexString?+=??;????????????byte[] returnBytes?=?new?byte[hexString.Length?/?2];????????????for?(int?i?=?0; i??returnBytes.Length; i++)??????????????? returnBytes[i]?=?Convert.ToByte(hexString.Substring(i?*?2,?2),?16);????????????return?returnBytes;???????? }
?
?
///?summary????????///?字节数组转16进制字符串????????///?/summary?
原创力文档

文档评论(0)