Documentation
¶
Index ¶
- func BoolToByte(b bool) byte
- func Get7BitEncodedIntSize(value int32) int
- func GetPos(r io.Reader) int64
- func GetReaderPos(r io.Reader) (int64, bool)
- func GetStringHashCRC32(s string) (int32, error)
- func GetStringHashFNV1a(s string) (int32, error)
- func GetStringHashSHA256(s string) (int32, error)
- func PeekByte(r io.Reader) (byte, error)
- func PeekString(rs io.ReadSeeker) (string, error)
- func Read7BitEncodedInt(reader io.Reader) (int32, error)
- func ReadBool(r io.Reader) (bool, error)
- func ReadByte(r io.Reader) (byte, error)
- func ReadBytes(r io.Reader, n int) ([]byte, error)
- func ReadFloat2(r io.Reader) ([2]float32, error)
- func ReadFloat3(r io.Reader) ([3]float32, error)
- func ReadFloat4(r io.Reader) ([4]float32, error)
- func ReadFloat4x4(r io.Reader) ([16]float32, error)
- func ReadFloat32(r io.Reader) (float32, error)
- func ReadInt32(r io.Reader) (int32, error)
- func ReadString(r io.Reader) (string, error)
- func ReadUInt16(r io.Reader) (uint16, error)
- func ReadUInt32(r io.Reader) (uint32, error)
- func Write7BitEncodedInt(writer io.Writer, value int32) error
- func WriteBool(w io.Writer, v bool) error
- func WriteByte(w io.Writer, b byte) error
- func WriteBytes(w io.Writer, bs []byte) error
- func WriteFloat2(w io.Writer, arr [2]float32) error
- func WriteFloat3(w io.Writer, arr [3]float32) error
- func WriteFloat4(w io.Writer, arr [4]float32) error
- func WriteFloat4x4(w io.Writer, arr [16]float32) error
- func WriteFloat32(w io.Writer, val float32) error
- func WriteInt32(w io.Writer, v int32) error
- func WriteString(w io.Writer, s string) error
- func WriteUInt16(w io.Writer, val uint16) error
- func WriteUInt32(w io.Writer, val uint32) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Get7BitEncodedIntSize ¶ added in v1.0.5
Get7BitEncodedIntSize 计算编码一个 int32 值所需的字节数 与 Write7BitEncodedInt 保持一致的编码逻辑
func GetReaderPos ¶
GetReaderPos 获取 io.Reader 的当前位置。 如果 io.Reader 支持 Seek,返回当前位置。 如果不支持 Seek,返回 -1, false。
func GetStringHashCRC32 ¶ added in v1.0.6
GetStringHashCRC32 计算字符串的哈希值并返回一个 int32 类型的值。 这个函数使用了 CRC-32 哈希算法,将字符串转换为一个 32 位的哈希值。
func GetStringHashFNV1a ¶ added in v1.0.6
GetStringHashFNV1a 计算字符串的哈希值并返回一个 int32 类型的值。 这个函数使用了 FNV-1a 哈希算法,将字符串转换为一个 32 位的哈希值。
func GetStringHashSHA256 ¶
GetStringHashSHA256 计算字符串的哈希值并返回一个 int32 类型的值。 这个函数使用了 SHA-256 哈希算法,将字符串转换为一个 32 位的哈希值。 由于 SHA-256 哈希算法的输出是一个 256 位的哈希值,这里只取前 32 位作为返回值。
func PeekString ¶
func PeekString(rs io.ReadSeeker) (string, error)
PeekString 读取下一个字符串(LEB128 + UTF-8),但不消耗它。 因此下次再从同一个 reader 中读取时,会得到相同的数据。
func Read7BitEncodedInt ¶ added in v1.0.5
Read7BitEncodedInt 读取 C# 格式的 7-bit encoded int 完全匹配 .NET 4.8 的实现逻辑
func ReadBool ¶
ReadBool 读取一个字节,返回 bool,如果字节非 0 则返回 true,否则返回 false 对应 C# 中的 BinaryReader.ReadBoolean
func ReadFloat32 ¶
ReadFloat32 从 r 中读取 4 个字节,以 little-endian 解码成 float32 在 C# 中是 BinaryReader.ReadSingle
func ReadString ¶
ReadString 读取 C# BinaryWriter.WriteString 格式的字符串 完全匹配 .NET 4.8 的实现逻辑 需要注意这个 7BitEncode 虽然与 LEB128 类似,但不是完全相同
func ReadUInt16 ¶
ReadUInt16 读取 2 字节无符号整数 (little-endian)
func ReadUInt32 ¶ added in v1.0.8
ReadUInt32 读取 4 字节无符号整数 (little-endian)
func Write7BitEncodedInt ¶ added in v1.0.5
Write7BitEncodedInt 写入 C# 格式的 7-bit encoded int 完全匹配 .NET 4.8 的实现:支持负数,使用无符号转换
func WriteFloat32 ¶
WriteFloat32 写一个 float32 (4 bytes, little-endian) 在 C# 中是 BinaryWriter.WriteSingle
func WriteInt32 ¶
WriteInt32 写一个 4 字节 int32(little-endian)
func WriteString ¶
WriteString 写入 C# BinaryWriter.WriteString 格式的字符串 完全匹配 .NET 4.8 的实现逻辑 需要注意这个 7BitEncode 虽然与 LEB128 类似,但不是完全相同
func WriteUInt16 ¶
WriteUInt16 写入一个16位无符号整数(little-endian)
Types ¶
This section is empty.