Documentation
¶
Index ¶
- func BoolToByte(b bool) byte
- func GetPos(r io.Reader) int64
- func GetReaderPos(r io.Reader) (int64, bool)
- func GetStringHashInt32(s string) int32
- func GetStringHashSHA256(s string) int32
- func LEB128SizeOfValue(value int) int
- func PeekByte(r io.Reader) (byte, error)
- func PeekString(rs io.ReadSeeker) (string, error)
- func ReadBool(r io.Reader) (bool, error)
- func ReadByte(r io.Reader) (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 ReadLEB128(r io.Reader) (int, error)
- func ReadString(r io.Reader) (string, error)
- func ReadUInt16(r io.Reader) (uint16, error)
- func WriteBool(w io.Writer, v bool) error
- func WriteByte(w io.Writer, b 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 WriteLEB128(w io.Writer, value int) error
- func WriteString(w io.Writer, s string) error
- func WriteUInt16(w io.Writer, val uint16) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetReaderPos ¶
GetReaderPos 获取 io.Reader 的当前位置。 如果 io.Reader 支持 Seek,返回当前位置。 如果不支持 Seek,返回 -1, false。
func GetStringHashInt32 ¶
GetStringHashInt32 计算字符串的哈希值并返回一个 int32 类型的值。 这个函数使用了 FNV-1a 哈希算法,将字符串转换为一个 32 位的哈希值。 由于 FNV-1a 哈希算法的输出是一个 64 位的哈希值,这里将其转换为 32 位。
func GetStringHashSHA256 ¶
GetStringHashSHA256 计算字符串的哈希值并返回一个 int32 类型的值。 这个函数使用了 SHA-256 哈希算法,将字符串转换为一个 32 位的哈希值。 由于 SHA-256 哈希算法的输出是一个 256 位的哈希值,这里只取前 32 位作为返回值。
func LEB128SizeOfValue ¶
LEB128SizeOfValue 根据 LEB128 的编码规则,计算给定整数 value 编码后占用的字节数。 这里假设 value 是一个非负整数。
func PeekString ¶
func PeekString(rs io.ReadSeeker) (string, error)
PeekString 读取下一个字符串(LEB128 + UTF-8),但不消耗它。 因此下次再从同一个 reader 中读取时,会得到相同的数据。
func ReadBool ¶
ReadBool 读取一个字节,返回 bool,如果字节非 0 则返回 true,否则返回 false 对应 C# 中的 BinaryReader.ReadBoolean
func ReadFloat32 ¶
ReadFloat32 从 r 中读取 4 个字节,以 little-endian 解码成 float32 在 C# 中是 BinaryReader.ReadSingle
func ReadString ¶
ReadString 先读一个 LEB128 长度,再读相应字节的 UTF-8
func ReadUInt16 ¶
ReadUInt16 读取 2 字节无符号整数 (little-endian)
func WriteFloat32 ¶
WriteFloat32 写一个 float32 (4 bytes, little-endian) 在 C# 中是 BinaryWriter.WriteSingle
func WriteInt32 ¶
WriteInt32 写一个 4 字节 int32(little-endian)
func WriteString ¶
WriteString 先写字符串长度(LEB128),再写 UTF8 字节
Types ¶
This section is empty.