我尝试实施协议,目前在此步骤中遇到问题:
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)
但是,我不确定如何将序列号放在缓冲区中以符合上述要求?
答案 0 :(得分:1)
听起来你想要这样的东西:
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
}