go语言如何将16进制转二进制

编辑: admin 分类: 电脑知识 发布时间: 2023-06-11 来源:互联网

go语言16进制转二进制的步骤:1、创建一个16进制与二进制对应的表;2、逐字符遍历hash,将单个字符转换为二进制;3、不满4位则填充,用2进制表示16进制需要用4位;4、按顺序组合即可。

go语言如何将16进制转二进制

实现方法很多,比如创建一个16进制与二进制对应的表,对hash字符串逐个遍历查询然后组合即可。

我这里使用了另一种方法,大致思路如下:

  • 逐字符遍历hash,将单个字符转换为二进制;

  • 不满4位则填充;( 2^4 = 16,用2进制表示16进制需要用4位)

  • 按顺序组合;

代码示例:

package util
import(
"strings"
"strconv"
)
func hash2bin(hash string)(string,int,error){
binary_string := ""
for _, char := range hash{
char_hex,err:= strconv.ParseInt(string(char),16,8)
if err!=nil{
return "",0,err
}
char_bin := ""
for ; char_hex > 0; char_hex /=2{
b := char_hex % 2
char_bin = strconv.Itoa(int(b))+char_bin
}
fill := 4-len(char_bin)
for fill>0{
char_bin = "0" + char_bin
fill -= 1
}
binary_string += char_bin
}
return binary_string,len(binary_string),nil
}
登录后复制【本文由:高防服务器ip http://www.558idc.com/gfip.html 复制请保留原URL】