import "encoding/binary"

符号無し整数値とバイトシーケンス間の変換を実装しています。

パッケージファイル

binary.go

Read関数

func Read(r io.Reader, order ByteOrder, data interface{}) os.Error

Readはdataへrからバイナリデータを読み込みます。データは固定サイズ値、または固定サイズ値スライスのポインタでなければいけません。固定サイズ値は固定サイズの整数型(int8, uint8, int16, uint16, …)、配列、固定サイズ値のみで構成されている構造体のいずれかである必要があります。指定されたバイトオーダーを使用してrから読み込んだデータをデコードし、dataの連続したフィールドへ書き込みを行います。

TotalSize関数

func TotalSize(v reflect.Value) int

Write関数

func Write(w io.Writer, order ByteOrder, data interface{}) os.Error

Writeはwへdataのバイナリ表現を書き込みます。データは固定サイズ値、または固定サイズ値のポインタでなければいけません。固定サイズ値は固定サイズの整数型(int8, uint8, int16, uint16, …)、配列、固定サイズ値のみで構成されている構造体のいずれかである必要があります。指定されたバイトオーダーを使用してdataの連続したフィールドから読み込み、wへエンコードしたデータを書き込みます。

ByteOrder型

ByteOrderは16、32、64ビットの符号無し整数値へのバイトシーケンス変換方法を指定します。

type ByteOrder interface {
    Uint16(b []byte) uint16
    Uint32(b []byte) uint32
    Uint64(b []byte) uint64
    PutUint16([]byte, uint16)
    PutUint32([]byte, uint32)
    PutUint64([]byte, uint64)
    String() string
}

var BigEndian ByteOrder = bigEndian(0)

var LittleEndian ByteOrder = littleEndian(0)