求助,golang怎样二进制转十六进制和十六进制转二进制

Python011

求助,golang怎样二进制转十六进制和十六进制转二进制,第1张

例如:把十六进制的04271544和0209FE83转换成二进制。方法:首先把十六进制数04271544中的每一位数转换为二进制数,每个数要分四位,不足四位的前面加零,请看下面演示:

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 + “,”)

.计次循环尾 ()