Documentation
¶
Index ¶
- func Get7BitEncodedIntSize(value int32) int
- type BinaryReader
- func (br *BinaryReader) PeekByte() (byte, error)
- func (br *BinaryReader) PeekString() (string, error)
- func (br *BinaryReader) ReadBool() (bool, error)
- func (br *BinaryReader) ReadByte() (byte, error)
- func (br *BinaryReader) ReadBytes(count int) ([]byte, error)
- func (br *BinaryReader) ReadFloat2() ([2]float32, error)
- func (br *BinaryReader) ReadFloat3() ([3]float32, error)
- func (br *BinaryReader) ReadFloat32() (float32, error)
- func (br *BinaryReader) ReadFloat4() ([4]float32, error)
- func (br *BinaryReader) ReadFloat4x4() ([16]float32, error)
- func (br *BinaryReader) ReadFloat64() (float64, error)
- func (br *BinaryReader) ReadInt16() (int16, error)
- func (br *BinaryReader) ReadInt32() (int32, error)
- func (br *BinaryReader) ReadInt64() (int64, error)
- func (br *BinaryReader) ReadSByte() (int8, error)
- func (br *BinaryReader) ReadString() (string, error)
- func (br *BinaryReader) ReadUInt16() (uint16, error)
- func (br *BinaryReader) ReadUInt32() (uint32, error)
- func (br *BinaryReader) ReadUInt64() (uint64, error)
- type BinaryWriter
- func (bw *BinaryWriter) Flush() error
- func (bw *BinaryWriter) WriteBool(value bool) error
- func (bw *BinaryWriter) WriteByte(value byte) error
- func (bw *BinaryWriter) WriteBytes(value []byte) error
- func (bw *BinaryWriter) WriteFloat2(arr [2]float32) error
- func (bw *BinaryWriter) WriteFloat3(arr [3]float32) error
- func (bw *BinaryWriter) WriteFloat32(value float32) error
- func (bw *BinaryWriter) WriteFloat4(arr [4]float32) error
- func (bw *BinaryWriter) WriteFloat4x4(arr [16]float32) error
- func (bw *BinaryWriter) WriteFloat64(value float64) error
- func (bw *BinaryWriter) WriteInt16(value int16) error
- func (bw *BinaryWriter) WriteInt32(value int32) error
- func (bw *BinaryWriter) WriteInt64(value int64) error
- func (bw *BinaryWriter) WriteSByte(value int8) error
- func (bw *BinaryWriter) WriteString(value string) error
- func (bw *BinaryWriter) WriteUInt16(value uint16) error
- func (bw *BinaryWriter) WriteUInt32(value uint32) error
- func (bw *BinaryWriter) WriteUInt64(value uint64) error
- type Peeker
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Get7BitEncodedIntSize ¶
Get7BitEncodedIntSize 计算编码一个 int32 值所需的字节数 与 Write7BitEncodedInt 保持一致的编码逻辑
Types ¶
type BinaryReader ¶
BinaryReader 提供从流中读取 C# 基本类型的功能 共享缓冲,性能更高,不支持并发
func NewBinaryReader ¶
func NewBinaryReader(r io.Reader) *BinaryReader
NewBinaryReader 创建一个新的 BinaryReader
func (*BinaryReader) PeekByte ¶
func (br *BinaryReader) PeekByte() (byte, error)
PeekByte 偷看下一个字节,不移动读取指针。 要求 reader 实现 Peeker 接口,例如 bufio.Reader。
func (*BinaryReader) PeekString ¶
func (br *BinaryReader) PeekString() (string, error)
PeekString 读取下一个字符串(7BitEncode + UTF-8),但不消耗它。 要求 reader 实现 Peeker 接口,例如 bufio.Reader。
注意:如果字符串长度超过了 bufio.Reader 的缓冲区大小(默认 4KB), Peek 操作会返回 bufio.ErrBufferFull。 如果需要处理超大字符串,请在创建 bufio.Reader 时指定更大的缓冲区大小
func (*BinaryReader) ReadBytes ¶
func (br *BinaryReader) ReadBytes(count int) ([]byte, error)
ReadBytes 读取指定数量的字节
func (*BinaryReader) ReadFloat2 ¶
func (br *BinaryReader) ReadFloat2() ([2]float32, error)
ReadFloat2 读取 2 个连续的 float32 (Vector2)
func (*BinaryReader) ReadFloat3 ¶
func (br *BinaryReader) ReadFloat3() ([3]float32, error)
ReadFloat3 读取 3 个连续的 float32 (Vector3)
func (*BinaryReader) ReadFloat32 ¶
func (br *BinaryReader) ReadFloat32() (float32, error)
ReadFloat32 读取 4 字节浮点数 (little-endian)
func (*BinaryReader) ReadFloat4 ¶
func (br *BinaryReader) ReadFloat4() ([4]float32, error)
ReadFloat4 读取 4 个连续的 float32 (Vector4/Quaternion)
func (*BinaryReader) ReadFloat4x4 ¶
func (br *BinaryReader) ReadFloat4x4() ([16]float32, error)
ReadFloat4x4 读取 16 个连续的 float32 (4x4 Matrix)
func (*BinaryReader) ReadFloat64 ¶
func (br *BinaryReader) ReadFloat64() (float64, error)
ReadFloat64 读取 8 字节浮点数 (little-endian)
func (*BinaryReader) ReadInt16 ¶
func (br *BinaryReader) ReadInt16() (int16, error)
ReadInt16 读取 2 字节有符号整数 (little-endian)
func (*BinaryReader) ReadInt32 ¶
func (br *BinaryReader) ReadInt32() (int32, error)
ReadInt32 读取 4 字节有符号整数 (little-endian)
func (*BinaryReader) ReadInt64 ¶
func (br *BinaryReader) ReadInt64() (int64, error)
ReadInt64 读取 8 字节有符号整数 (little-endian)
func (*BinaryReader) ReadSByte ¶
func (br *BinaryReader) ReadSByte() (int8, error)
ReadSByte 读取有符号字节
func (*BinaryReader) ReadString ¶
func (br *BinaryReader) ReadString() (string, error)
ReadString 读取长度前缀的 UTF-8 字符串(与 C# BinaryWriter 兼容)
func (*BinaryReader) ReadUInt16 ¶
func (br *BinaryReader) ReadUInt16() (uint16, error)
ReadUInt16 读取 2 字节无符号整数 (little-endian)
func (*BinaryReader) ReadUInt32 ¶
func (br *BinaryReader) ReadUInt32() (uint32, error)
ReadUInt32 读取 4 字节无符号整数 (little-endian)
func (*BinaryReader) ReadUInt64 ¶
func (br *BinaryReader) ReadUInt64() (uint64, error)
ReadUInt64 读取 8 字节无符号整数 (little-endian)
type BinaryWriter ¶
BinaryWriter 提供向流中写入 C# 基本类型的功能 共享缓冲,性能更高,不支持并发
func NewBinaryWriter ¶
func NewBinaryWriter(w io.Writer) *BinaryWriter
NewBinaryWriter 创建一个新的 BinaryWriter
func (*BinaryWriter) WriteBool ¶
func (bw *BinaryWriter) WriteBool(value bool) error
WriteBool 写入布尔值
func (*BinaryWriter) WriteByte ¶
func (bw *BinaryWriter) WriteByte(value byte) error
WriteByte 写入单个字节
func (*BinaryWriter) WriteBytes ¶
func (bw *BinaryWriter) WriteBytes(value []byte) error
WriteBytes 写入字节数组
func (*BinaryWriter) WriteFloat2 ¶
func (bw *BinaryWriter) WriteFloat2(arr [2]float32) error
WriteFloat2 写入 2 个连续的 float32 (Vector2)
func (*BinaryWriter) WriteFloat3 ¶
func (bw *BinaryWriter) WriteFloat3(arr [3]float32) error
WriteFloat3 写入 3 个连续的 float32 (Vector3)
func (*BinaryWriter) WriteFloat32 ¶
func (bw *BinaryWriter) WriteFloat32(value float32) error
WriteFloat32 写入 4 字节浮点数 (little-endian)
func (*BinaryWriter) WriteFloat4 ¶
func (bw *BinaryWriter) WriteFloat4(arr [4]float32) error
WriteFloat4 写入 4 个连续的 float32 (Vector4/Quaternion)
func (*BinaryWriter) WriteFloat4x4 ¶
func (bw *BinaryWriter) WriteFloat4x4(arr [16]float32) error
WriteFloat4x4 写入 16 个连续的 float32 (4x4 Matrix)
func (*BinaryWriter) WriteFloat64 ¶
func (bw *BinaryWriter) WriteFloat64(value float64) error
WriteFloat64 写入 8 字节浮点数 (little-endian)
func (*BinaryWriter) WriteInt16 ¶
func (bw *BinaryWriter) WriteInt16(value int16) error
WriteInt16 写入 2 字节有符号整数 (little-endian)
func (*BinaryWriter) WriteInt32 ¶
func (bw *BinaryWriter) WriteInt32(value int32) error
WriteInt32 写入 4 字节有符号整数 (little-endian)
func (*BinaryWriter) WriteInt64 ¶
func (bw *BinaryWriter) WriteInt64(value int64) error
WriteInt64 写入 8 字节有符号整数 (little-endian)
func (*BinaryWriter) WriteSByte ¶
func (bw *BinaryWriter) WriteSByte(value int8) error
WriteSByte 写入有符号字节
func (*BinaryWriter) WriteString ¶
func (bw *BinaryWriter) WriteString(value string) error
WriteString 写入长度前缀的 UTF-8 字符串(与 C# BinaryWriter 兼容)
func (*BinaryWriter) WriteUInt16 ¶
func (bw *BinaryWriter) WriteUInt16(value uint16) error
WriteUInt16 写入 2 字节无符号整数 (little-endian)
func (*BinaryWriter) WriteUInt32 ¶
func (bw *BinaryWriter) WriteUInt32(value uint32) error
WriteUInt32 写入 4 字节无符号整数 (little-endian)
func (*BinaryWriter) WriteUInt64 ¶
func (bw *BinaryWriter) WriteUInt64(value uint64) error
WriteUInt64 写入 8 字节无符号整数 (little-endian)