如何在Golang中将字节数组[]byte{255, 253}打印为二进制?即
[]byte{255, 253}
[]byte{255, 253} --> 1111111111111101
w6lpcovy1#
我找到的最简单的方法:
package main import "fmt" func main() { bs := []byte{0x00, 0xfd} for _, n := range(bs) { fmt.Printf("%08b ", n) // prints 00000000 11111101 } }
请输入此代码:https://go.dev/play/p/piJV_3OTHae
wsewodh22#
或者用这个简单的版本
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
2条答案
按热度按时间w6lpcovy1#
我找到的最简单的方法:
请输入此代码:https://go.dev/play/p/piJV_3OTHae
wsewodh22#
或者用这个简单的版本