Namespace: go.std.encoding.binary
v1.0Contents
Summary
Provides a lowlevel interface to the encoding/binary package.
Package binary implements simple translation between numbers and byte
sequences and encoding and decoding of varints.
Numbers are translated by reading and writing fixedsize values.
A fixedsize value is either a fixedsize arithmetic
type (bool, int8, uint8, int16, float32, complex64, ...)
or an array or struct containing only fixedsize values.
The varint functions encode and decode single integer values using
a variablelength encoding; smaller values require fewer bytes.
For a specification, see
https://developers.google.com/protocolbuffers/docs/encoding.
This package favors simplicity over efficiency. Clients that require
highperformance serialization, especially for large data structures,
should look at more advanced solutions such as the encoding/gob
package or protocol buffers.
Index
 BigEndian
 ByteOrder
 LittleEndian
 MaxVarintLen16
 MaxVarintLen32
 MaxVarintLen64
 PutUvarint
 PutVarint
 Read
 ReadUvarint
 ReadVarint
 Size
 Uvarint
 Varint
 Write
 arrayOfByteOrder
Legend

Constant
Variable
Function
Macro
Special form
Type
GoVar
Receiver/Method
Constants
Constants are variables with :const true in their metadata. Joker currently does not recognize them as special; as such, it allows redefining them or their values.
MaxVarintLen16
Int v1.0MaxVarintLenN is the maximum length of a varintencoded Nbit integer.

MaxVarintLen32
Int v1.0MaxVarintLenN is the maximum length of a varintencoded Nbit integer.

MaxVarintLen64
Int v1.0MaxVarintLenN is the maximum length of a varintencoded Nbit integer.
Variables

BigEndian
Var v1.0BigEndian is the bigendian implementation of ByteOrder.

LittleEndian
Var v1.0LittleEndian is the littleendian implementation of ByteOrder.
Functions, Macros, and Special Forms

PutUvarint
Function v1.0(PutUvarint buf x)
PutUvarint encodes a uint64 into buf and returns the number of bytes written.
If the buffer is too small, PutUvarint will panic.
Go input arguments: (buf []byte, x uint64)
Go returns: int
Joker input arguments: [^arrayOfByte buf, ^Number x]
Joker returns: ^Int 
PutVarint
Function v1.0(PutVarint buf x)
PutVarint encodes an int64 into buf and returns the number of bytes written.
If the buffer is too small, PutVarint will panic.
Go input arguments: (buf []byte, x int64)
Go returns: int
Joker input arguments: [^arrayOfByte buf, ^BigInt x]
Joker returns: ^Int 
Read
Function v1.0(Read r order data)
Read reads structured binary data from r into data.
Data must be a pointer to a fixedsize value or a slice
of fixedsize 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 nonzero 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 nonblank 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.
Go input arguments: (r io.Reader, order ByteOrder, data interface{})
Go returns: error
Joker input arguments: [^go.std.io/Reader r, ^ByteOrder order, ^GoObject data]
Joker returns: ^Error 
ReadUvarint
Function v1.0(ReadUvarint r)
ReadUvarint reads an encoded unsigned integer from r and returns it as a uint64.
Go input arguments: (r io.ByteReader)
Go returns: (uint64, error)
Joker input arguments: [^go.std.io/ByteReader r]
Joker returns: [^Number, ^Error] 
ReadVarint
Function v1.0(ReadVarint r)
ReadVarint reads an encoded signed integer from r and returns it as an int64.
Go input arguments: (r io.ByteReader)
Go returns: (int64, error)
Joker input arguments: [^go.std.io/ByteReader r]
Joker returns: [^BigInt, ^Error] 
Size
Function v1.0(Size v)
Size returns how many bytes Write would generate to encode the value v, which
must be a fixedsize value or a slice of fixedsize values, or a pointer to such data.
If v is neither of these, Size returns 1.
Go input arguments: (v interface{})
Go returns: int
Joker input arguments: [^GoObject v]
Joker returns: ^Int 
Uvarint
Function v1.0(Uvarint buf)
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
Go input arguments: (buf []byte)
Go returns: (uint64, int)
Joker input arguments: [^arrayOfByte buf]
Joker returns: [^Number, ^Int] 
Varint
Function v1.0(Varint buf)
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
Go input arguments: (buf []byte)
Go returns: (int64, int)
Joker input arguments: [^arrayOfByte buf]
Joker returns: [^BigInt, ^Int] 
Write
Function v1.0(Write w order data)
Write writes the binary representation of data into w.
Data must be a fixedsize value or a slice of fixedsize
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.
Go input arguments: (w io.Writer, order ByteOrder, data interface{})
Go returns: error
Joker input arguments: [^go.std.io/Writer w, ^ByteOrder order, ^GoObject data]
Joker returns: ^Error
Types

ByteOrder
Abstract Type v1.0A ByteOrder specifies how to convert byte sequences into
16, 32, or 64bit unsigned integers.

PutUint16
Method for ByteOrder v1.0([arg1 arg2])

PutUint32
Method for ByteOrder v1.0([arg1 arg2])

PutUint64
Method for ByteOrder v1.0([arg1 arg2])

String
Method for ByteOrder v1.0([])

Uint16
Method for ByteOrder v1.0([arg1])

Uint32
Method for ByteOrder v1.0([arg1])

Uint64
Method for ByteOrder v1.0([arg1])

arrayOfByteOrder
Concrete Type v1.0A ByteOrder specifies how to convert byte sequences into
16, 32, or 64bit unsigned integers.