如何在Golang中打印字节数组[]byte{255, 253}
作为二进制文件?
即。
[]byte{255, 253} --> 1111111111111101
答案 0 :(得分:9)
我发现最简单的方法:
package main
import "fmt"
func main() {
bs := []byte{0x00, 0xfd}
for _, n := range(bs) {
fmt.Printf("% 08b", n) // prints 00000000 11111101
}
}
使用此代码的游乐场:https://play.golang.org/p/eVez0vD4pJk
答案 1 :(得分:0)
或者使用这个简单的版本
func printAsBinary(bytes []byte) {
for i := 0; i < len(bytes); i++ {
for j := 0; j < 8; j++ {
zeroOrOne := bytes[i] >> (7 - j) & 1
fmt.Printf("%c", '0'+zeroOrOne)
}
fmt.Print(" ")
}
fmt.Println()
}
[]byte{0, 1, 127, 255} --> 00000000 00000001 01111111 11111111