效果
把某个字节或字节数组转换成字符串01的形式,一个字节用8个”0”或”1”字符表示。比如:
byte(3) –> “00000011”
[]byte{1,2,3} –> “[00000001 00000010 00000011]”
“[00000011 10000000]” –> []byte{0x3, 0x80}
开源库 biu
实际上我已经将其封装到一个开源库了(biu),其中的一个功能就能达到上述效果:
//byte/[]byte -> string
bs := []byte{1, 2, 3}
s := biu.BytesToBinaryString(bs)
fmt.Println(s) //[00000001 00000010 00000011]
fmt.Println(biu.ByteToBinaryString(byte(3))) //00000011
//string -> []byte
s := "[00000011 10000000]"
bs := biu.BinaryStringToBytes(s)
fmt.Printf("%#v\n", bs) //[]byte{0x3, 0x80}
代码实现
const (
zero = byte('0')
one = byte('1')
lsb = byte