0 0000
4 0100
2 0010
7 0111
1 0001
5 0101
4 0100
4 0100
将得出四位二进制数串连起来就是结果了
16进制与字符串、字节数组之间的转换在串口通讯过程中,经常要用到 16进制与字符串、字节数组之间的转换/// <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 = 0i <returnBytes.Lengthi++) returnBytes[i] = Convert.ToByte(hexString.Substring(i * 2, 2), 16)return returnBytes} 字节数组转16进制字符串 /// <summary>/// 字节数组转16进制字符串 /// </summary>/// <param name="bytes"></param>/// <returns></returns>public static string byteToHexStr(byte[] bytes) { string returnStr = ""if (bytes != null) { for (int i = 0i <bytes.Lengthi++) { returnStr += bytes[i].ToString("X2")} } return returnStr} 从汉字转换到16进制 /// <summary>/// 从汉字转换到16进制 /// </summary>/// <param name="s"></param>/// <param name="charset">编码,如"utf-8","gb2312"</param>/// <param name="fenge">是否每字符用逗号分隔</param>/// <returns></returns>public static string ToHex(string s, string charset, bool fenge) { if ((s.Length % 2) != 0) { s += " "//空格 //throw new ArgumentException("s is not valid chinese string!")} System.Text.Encoding chs = System.Text.Encoding.GetEncoding(charset)byte[] bytes = chs.GetBytes(s)string str = ""for (int i = 0i <bytes.Lengthi++) { str += string.Format("{0:X}", bytes[i])if (fenge &&(i != bytes.Length - 1)) { str += string.易语言参考代码如下:.版本 2
.子程序 _按钮1_被单击
.局部变量 a, 字节集
.局部变量 i, 整数型
.局部变量 b, 整数型
.局部变量 c, 文本型
编辑框1.内容 = “”
a = 到字节集 (“333333?钇悙”)
.计次循环首 (取字节集长度 (a), i)
b = 取字节集数据 (a, #整数型, i)
c = 取文本右边 (取十六进制文本 (b), 2)
编辑框1.加入文本 (c + “,”)
.计次循环尾 ()