我正在尝试实现一个协议(protocol),但目前在执行此步骤时遇到问题:
The big-endian binary representation of the sequence number SHALL be placed in a 16-octet buffer and padded (on the left) with zeros.
序列号是一个int
。
我认为创建 16 字节缓冲区的正确方法是这样的:
buf := make([]byte, 16)
但是,我不确定如何将序列号放入缓冲区以使其符合上述要求?
最佳答案
听起来你想要这样的东西:
func seqToBuffer(seq int) []byte {
buf := make([]byte, 16)
for i := len(buf) - 1; seq != 0; i-- {
buf[i] = byte(seq & 0xff)
seq >>= 8
}
return buf
}
关于go - 将整数放入缓冲区并用零填充左边?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39552663/