package main
import (
"encoding/binary"
"fmt"
"bytes"
)
func main(){
b := new(bytes.Buffer)
c := new(bytes.Buffer)
binary.Write(b, binary.LittleEndian, []byte{0, 1})
binary.Write(b, binary.BigEndian, []byte{0, 1})
binary.Write(c, binary.LittleEndian, uint16(256))
binary.Write(c, binary.BigEndian, uint16(256))
fmt.Println(b.Bytes()) // [0 1 0 1]
fmt.Println(c.Bytes()) // [0 1 1 0]
}
binary.Write()
バイト順序がuint8, uint16, uint64
..etcのために働いたが、[]byte
される理由は、非常に興味深いのですか?binary.Write()のバイト順序は、[]のために働いていないバイト
binary.LittleEndian
で注文し、bytes.Buffer
に書き込む必要がある場合は、先にそれを取り消す必要がありますか?この問題を解決する有効な方法はありますか?
ありがとうございました。