goendianness

Converting a big.Int to little-endian byte slice


I have a big.Int and want to convert it to a little-endian byte slice. If I use Int.Bytes, I get the big-endian byte slice.

Is there any way to get little-endian byte slice for big.Int?


Solution

  • The simplest solution is to reverse the slice returned from Bytes():

    b := bigInt.Bytes()
    for i := 0; i < len(b)/2; i++ {
        b[i], b[len(b)-i-1] = b[len(b)-i-1], b[i]
    }