首页  >  文章  >  go语言如何将16进制转二进制

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

DDD
DDD原创
2023-06-09 09:49:351404浏览

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
}

以上是go语言如何将16进制转二进制的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn