package cli import "fmt" // FIXME make this write to a bytes.Buffer with fprintf func DumpByteSlice(b []byte) { var a [16]byte n := (len(b) + 15) &^ 15 for i := 0; i < n; i++ { if i%16 == 0 { fmt.Printf("%4d", i) } if i%8 == 0 { fmt.Print(" ") } if i < len(b) { fmt.Printf(" %02X", b[i]) } else { fmt.Print(" ") } if i >= len(b) { a[i%16] = ' ' } else if b[i] < 32 || b[i] > 126 { a[i%16] = '.' } else { a[i%16] = b[i] } if i%16 == 15 { fmt.Printf(" %s\n", string(a[:])) } } }