binary

package
v0.17.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 6, 2025 License: MIT Imports: 6 Imported by: 1

Documentation

Overview

Borrowed from jsoniter (https://github.com/json-iterator/go)

Borrowed from jsoniter (https://github.com/json-iterator/go)

Borrowed from jsoniter (https://github.com/json-iterator/go)

Borrowed from jsoniter (https://github.com/json-iterator/go)

Borrowed from jsoniter (https://github.com/json-iterator/go)

Borrowed from jsoniter (https://github.com/json-iterator/go)

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrUnknownValue  = errors.New("unknown value")
	ErrNegativeCount = errors.New("negative count")
)

Functions

This section is empty.

Types

type BufferReader

type BufferReader struct {
	// contains filtered or unexported fields
}

func NewBufferReader

func NewBufferReader(buf []byte) *BufferReader

func (*BufferReader) Cap

func (b *BufferReader) Cap() int

func (*BufferReader) Len

func (b *BufferReader) Len() int

func (*BufferReader) Read

func (b *BufferReader) Read(dst []byte) (n int, err error)

func (*BufferReader) ReadBool

func (b *BufferReader) ReadBool() bool

func (*BufferReader) ReadByte

func (b *BufferReader) ReadByte() (byte, error)

func (*BufferReader) ReadBytes

func (b *BufferReader) ReadBytes(n int) (dst []byte)

func (*BufferReader) ReadFloat32

func (b *BufferReader) ReadFloat32() (v float32)

Write float32

func (*BufferReader) ReadFloat64

func (b *BufferReader) ReadFloat64() (v float64)

Write float64

func (*BufferReader) ReadInt

func (b *BufferReader) ReadInt() (v int)

Write int

func (*BufferReader) ReadInt16

func (b *BufferReader) ReadInt16() (v int16)

Write int16 (little endian)

func (*BufferReader) ReadInt32

func (b *BufferReader) ReadInt32() (v int32)

Write int32

func (*BufferReader) ReadInt64

func (b *BufferReader) ReadInt64() (v int64)

Write int64

func (*BufferReader) ReadInt8

func (b *BufferReader) ReadInt8() (v int8)

func (*BufferReader) ReadString

func (b *BufferReader) ReadString(n int) string

func (*BufferReader) ReadUint

func (b *BufferReader) ReadUint() (v uint)

Write uint

func (*BufferReader) ReadUint16

func (b *BufferReader) ReadUint16() (v uint16)

func (*BufferReader) ReadUint32

func (b *BufferReader) ReadUint32() (v uint32)

Write uint32

func (*BufferReader) ReadUint64

func (b *BufferReader) ReadUint64() (v uint64)

Write uint64

func (*BufferReader) ReadUint8

func (b *BufferReader) ReadUint8() (v uint8)

func (*BufferReader) ReadUvarint

func (b *BufferReader) ReadUvarint() (v uint64)

func (*BufferReader) ReadVarint

func (b *BufferReader) ReadVarint() (v int64)

func (*BufferReader) Reset

func (b *BufferReader) Reset()

type BufferWriter

type BufferWriter struct {
	// contains filtered or unexported fields
}

A Buffer is used to efficiently build a string using Write methods. It minimizes memory copying. The zero value is ready to use. Do not copy a non-zero Buffer.

func NewBufferWriter

func NewBufferWriter(cap int) *BufferWriter

func (*BufferWriter) Bytes

func (b *BufferWriter) Bytes() []byte

String returns the accumulated string as bytes.

func (*BufferWriter) Cap

func (b *BufferWriter) Cap() int

Cap returns the capacity of the Buffer's underlying byte slice. It is the total space allocated for the string being built and includes any bytes already written.

func (*BufferWriter) Grow

func (b *BufferWriter) Grow(n int) error

Grow grows b's capacity, if necessary, to guarantee space for another n bytes. After Grow(n), at least n bytes can be written to b without another allocation. If n is negative, Grow panics.

func (*BufferWriter) Len

func (b *BufferWriter) Len() int

Len returns the number of accumulated bytes; b.Len() == len(b.String()).

func (*BufferWriter) Reset

func (b *BufferWriter) Reset()

Reset resets the Buffer to be empty.

func (*BufferWriter) String

func (b *BufferWriter) String() string

String returns the accumulated string.

func (*BufferWriter) Write

func (b *BufferWriter) Write(p []byte) (int, error)

Write appends the contents of p to b's buffer. Write always returns len(p), nil.

func (*BufferWriter) WriteBool

func (b *BufferWriter) WriteBool(v bool) error

func (*BufferWriter) WriteByte

func (b *BufferWriter) WriteByte(c byte) error

WriteByte appends the byte c to b's buffer. The returned error is always nil.

func (*BufferWriter) WriteEnc

func (b *BufferWriter) WriteEnc(v Encoder) error

Write a type that implements StringEncoder

func (*BufferWriter) WriteFloat32

func (b *BufferWriter) WriteFloat32(v float32) error

Write float32

func (*BufferWriter) WriteFloat64

func (b *BufferWriter) WriteFloat64(v float64) error

Write float64

func (*BufferWriter) WriteInt

func (b *BufferWriter) WriteInt(v int) error

Write int

func (*BufferWriter) WriteInt16

func (b *BufferWriter) WriteInt16(v int16) error

Write int16

func (*BufferWriter) WriteInt32

func (b *BufferWriter) WriteInt32(v int32) error

Write int32

func (*BufferWriter) WriteInt64

func (b *BufferWriter) WriteInt64(v int64) error

Write int64

func (*BufferWriter) WriteInt8

func (b *BufferWriter) WriteInt8(v int8) error

Write int8

func (*BufferWriter) WriteString

func (b *BufferWriter) WriteString(s string) (int, error)

WriteString appends the contents of s to b's buffer. It returns the length of s and a nil error.

func (*BufferWriter) WriteUint

func (b *BufferWriter) WriteUint(v uint) error

Write uint

func (*BufferWriter) WriteUint16

func (b *BufferWriter) WriteUint16(v uint16) error

Write uint16

func (*BufferWriter) WriteUint32

func (b *BufferWriter) WriteUint32(v uint32) error

Write uint32

func (*BufferWriter) WriteUint64

func (b *BufferWriter) WriteUint64(v uint64) error

Write uint64

func (*BufferWriter) WriteUint8

func (b *BufferWriter) WriteUint8(v uint8) error

Write uint8

func (*BufferWriter) WriteUvarint

func (b *BufferWriter) WriteUvarint(v uint64) error

func (*BufferWriter) WriteVal

func (b *BufferWriter) WriteVal(val any) error

func (*BufferWriter) WriteVarint

func (b *BufferWriter) WriteVarint(v int64) error

type Encoder

type Encoder interface {
	Encode(w Writer) error
}

type Reader

type Reader interface {
	io.Reader
	io.ByteReader

	Len() int
	Cap() int
	ReadBytes(n int) []byte
	ReadString(n int) string
	ReadUint8() uint8
	ReadInt8() int8
	ReadUint16() uint16
	ReadInt16() int16
	ReadUint32() uint32
	ReadInt32() int32
	ReadUint64() uint64
	ReadInt64() int64
	ReadInt() int
	ReadUint() uint
	ReadFloat32() float32
	ReadFloat64() float64
	ReadVarint() int64
	ReadUvarint() uint64
	ReadBool() bool
}

type StreamReader

type StreamReader struct {
	// contains filtered or unexported fields
}

A StreamReader is used to efficiently read binary data from an io.Reader.

func NewStreamReader

func NewStreamReader(r io.Reader) *StreamReader

func (*StreamReader) Cap

func (b *StreamReader) Cap() int

Cap returns the capacity of the StreamReader's underlying byte slice. It is the total space allocated for the string being built and includes any bytes already written.

func (*StreamReader) Error

func (b *StreamReader) Error() error

func (*StreamReader) Len

func (b *StreamReader) Len() int

Len returns the number of accumulated bytes; b.Len() == len(b.String()).

func (*StreamReader) Read

func (b *StreamReader) Read(dst []byte) (n int, err error)

Write appends the contents of p to b's buffer. Write always returns len(p), nil.

func (*StreamReader) ReadBool

func (b *StreamReader) ReadBool() bool

func (*StreamReader) ReadByte

func (b *StreamReader) ReadByte() (byte, error)

WriteByte appends the byte c to b's buffer. The returned error is always nil.

func (*StreamReader) ReadBytes

func (b *StreamReader) ReadBytes(n int) []byte

WriteString appends the contents of s to b's buffer. It returns the length of s and a nil error.

func (*StreamReader) ReadFloat32

func (b *StreamReader) ReadFloat32() float32

func (*StreamReader) ReadFloat64

func (b *StreamReader) ReadFloat64() float64

func (*StreamReader) ReadFull added in v0.9.0

func (b *StreamReader) ReadFull(dst []byte) (err error)

func (*StreamReader) ReadInt

func (b *StreamReader) ReadInt() int

func (*StreamReader) ReadInt16

func (b *StreamReader) ReadInt16() int16

func (*StreamReader) ReadInt32

func (b *StreamReader) ReadInt32() int32

func (*StreamReader) ReadInt64

func (b *StreamReader) ReadInt64() int64

func (*StreamReader) ReadInt8

func (b *StreamReader) ReadInt8() int8

func (*StreamReader) ReadString

func (b *StreamReader) ReadString(n int) string

WriteString appends the contents of s to b's buffer. It returns the length of s and a nil error.

func (*StreamReader) ReadUint

func (b *StreamReader) ReadUint() uint

func (*StreamReader) ReadUint16

func (b *StreamReader) ReadUint16() uint16

func (*StreamReader) ReadUint32

func (b *StreamReader) ReadUint32() uint32

func (*StreamReader) ReadUint64

func (b *StreamReader) ReadUint64() uint64

func (*StreamReader) ReadUint8

func (b *StreamReader) ReadUint8() (v uint8)

func (*StreamReader) ReadUvarint

func (b *StreamReader) ReadUvarint() (v uint64)

func (*StreamReader) ReadVarint

func (b *StreamReader) ReadVarint() (v int64)

func (*StreamReader) Reset

func (b *StreamReader) Reset(r io.Reader)

Reset resets the StreamReader to be empty.

func (*StreamReader) WriteTo

func (b *StreamReader) WriteTo(w io.Writer) (n int64, err error)

type StreamWriter

type StreamWriter struct {
	// contains filtered or unexported fields
}

A Stream is used to efficiently write binary data to an io.Writer.

func NewStreamWriter

func NewStreamWriter(w io.Writer) *StreamWriter

func (*StreamWriter) Reset

func (b *StreamWriter) Reset(w io.Writer)

Reset resets the Stream to be empty.

func (*StreamWriter) Write

func (b *StreamWriter) Write(p []byte) (int, error)

Write appends the contents of p to b's buffer. Write always returns len(p), nil.

func (*StreamWriter) WriteBool

func (b *StreamWriter) WriteBool(v bool) error

func (*StreamWriter) WriteByte

func (b *StreamWriter) WriteByte(c byte) (err error)

WriteByte appends the byte c to b's buffer. The returned error is always nil.

func (*StreamWriter) WriteEnc

func (b *StreamWriter) WriteEnc(v Encoder) error

Write a type that implements StringEncoder

func (*StreamWriter) WriteFloat32

func (b *StreamWriter) WriteFloat32(v float32) error

Write float32

func (*StreamWriter) WriteFloat64

func (b *StreamWriter) WriteFloat64(v float64) error

Write float64

func (*StreamWriter) WriteInt

func (b *StreamWriter) WriteInt(v int) error

Write int

func (*StreamWriter) WriteInt16

func (b *StreamWriter) WriteInt16(v int16) error

Write int16

func (*StreamWriter) WriteInt32

func (b *StreamWriter) WriteInt32(v int32) error

Write int32

func (*StreamWriter) WriteInt64

func (b *StreamWriter) WriteInt64(v int64) error

Write int64

func (*StreamWriter) WriteInt8

func (b *StreamWriter) WriteInt8(v int8) error

Write int8

func (*StreamWriter) WriteString

func (b *StreamWriter) WriteString(s string) (int, error)

WriteString appends the contents of s to b's buffer. It returns the length of s and a nil error.

func (*StreamWriter) WriteUint

func (b *StreamWriter) WriteUint(v uint) error

Write uint

func (*StreamWriter) WriteUint16

func (b *StreamWriter) WriteUint16(v uint16) (err error)

Write uint16

func (*StreamWriter) WriteUint32

func (b *StreamWriter) WriteUint32(v uint32) (err error)

Write uint32

func (*StreamWriter) WriteUint64

func (b *StreamWriter) WriteUint64(v uint64) (err error)

Write uint64

func (*StreamWriter) WriteUint8

func (b *StreamWriter) WriteUint8(v uint8) error

Write uint8

func (*StreamWriter) WriteUvarint

func (b *StreamWriter) WriteUvarint(v uint64) (err error)

func (*StreamWriter) WriteVal

func (b *StreamWriter) WriteVal(val any) error

func (*StreamWriter) WriteVarint

func (b *StreamWriter) WriteVarint(v int64) (err error)

type Writer

type Writer interface {
	io.Writer
	io.ByteWriter

	WriteString(s string) (int, error)
	WriteUint8(v uint8) error
	WriteInt8(v int8) error
	WriteUint16(v uint16) error
	WriteInt16(v int16) error
	WriteUint32(v uint32) error
	WriteInt32(v int32) error
	WriteUint64(v uint64) error
	WriteInt64(v int64) error
	WriteInt(v int) error
	WriteUint(v uint) error
	WriteFloat32(v float32) error
	WriteFloat64(v float64) error
	WriteVarint(v int64) error
	WriteUvarint(v uint64) error
	WriteBool(v bool) error
	WriteEnc(v Encoder) error
	WriteVal(val any) error
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL