package binary

Import Path
	encoding/binary (on golang.org and go.dev)

Dependency Relation
	imports 5 packages, and imported by 19 packages

Involved Source Files
	d-> binary.go
	    varint.go

Exported Type Names

type ByteOrder (interface) A ByteOrder specifies how to convert byte sequences into 16-, 32-, or 64-bit unsigned integers. (T) PutUint16([]byte, uint16) (T) PutUint32([]byte, uint32) (T) PutUint64([]byte, uint64) (T) String() string (T) Uint16([]byte) uint16 (T) Uint32([]byte) uint32 (T) Uint64([]byte) uint64 T : fmt.Stringer func Read(r io.Reader, order ByteOrder, data interface{}) error func Write(w io.Writer, order ByteOrder, data interface{}) error
Exported Values
var BigEndian bigEndian BigEndian is the big-endian implementation of ByteOrder.
var LittleEndian littleEndian LittleEndian is the little-endian implementation of ByteOrder.
const MaxVarintLen16 = 3 MaxVarintLenN is the maximum length of a varint-encoded N-bit integer.
const MaxVarintLen32 = 5 MaxVarintLenN is the maximum length of a varint-encoded N-bit integer.
const MaxVarintLen64 = 10 MaxVarintLenN is the maximum length of a varint-encoded N-bit integer.
func PutUvarint(buf []byte, x uint64) int PutUvarint encodes a uint64 into buf and returns the number of bytes written. If the buffer is too small, PutUvarint will panic.
func PutVarint(buf []byte, x int64) int PutVarint encodes an int64 into buf and returns the number of bytes written. If the buffer is too small, PutVarint will panic.
func Read(r io.Reader, order ByteOrder, data interface{}) error Read reads structured binary data from r into data. Data must be a pointer to a fixed-size value or a slice of fixed-size values. Bytes read from r are decoded using the specified byte order and written to successive fields of the data. When decoding boolean values, a zero byte is decoded as false, and any other non-zero byte is decoded as true. When reading into structs, the field data for fields with blank (_) field names is skipped; i.e., blank field names may be used for padding. When reading into a struct, all non-blank fields must be exported or Read may panic. The error is EOF only if no bytes were read. If an EOF happens after reading some but not all the bytes, Read returns ErrUnexpectedEOF.
func ReadUvarint(r io.ByteReader) (uint64, error) ReadUvarint reads an encoded unsigned integer from r and returns it as a uint64.
func ReadVarint(r io.ByteReader) (int64, error) ReadVarint reads an encoded signed integer from r and returns it as an int64.
func Size(v interface{}) int Size returns how many bytes Write would generate to encode the value v, which must be a fixed-size value or a slice of fixed-size values, or a pointer to such data. If v is neither of these, Size returns -1.
func Uvarint(buf []byte) (uint64, int) Uvarint decodes a uint64 from buf and returns that value and the number of bytes read (> 0). If an error occurred, the value is 0 and the number of bytes n is <= 0 meaning: n == 0: buf too small n < 0: value larger than 64 bits (overflow) and -n is the number of bytes read
func Varint(buf []byte) (int64, int) Varint decodes an int64 from buf and returns that value and the number of bytes read (> 0). If an error occurred, the value is 0 and the number of bytes n is <= 0 with the following meaning: n == 0: buf too small n < 0: value larger than 64 bits (overflow) and -n is the number of bytes read
func Write(w io.Writer, order ByteOrder, data interface{}) error Write writes the binary representation of data into w. Data must be a fixed-size value or a slice of fixed-size values, or a pointer to such data. Boolean values encode as one byte: 1 for true, and 0 for false. Bytes written to w are encoded using the specified byte order and read from successive fields of the data. When writing structs, zero values are written for fields with blank (_) field names.