import "encoding/binary"
符号無し整数値とバイトシーケンス間の変換を実装しています。
パッケージファイル
binary.go
Read関数
func Read(r io.Reader, order ByteOrder, data interface{}) os.Error
Readは、構造化されたバイナリデータをrから読み込みます。データは固定サイズの値へのポインタ、または固定サイズの値のスライスでなければいけません。この固定サイズの値とは、固定サイズである数値型(int8, uint8, int16, float32, complex64, …)、配列、または固定サイズの値のみで構成されている構造体のいずれかである必要があります。指定されたバイトオーダを使用して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, float32, complex64, …)、配列、または固定サイズ値のみで構成されている構造体のいずれかである必要があります。指定されたバイトオーダを使用して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)
Trackback URL
Comments