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)
Trackback URL
Leave a comment
Comments