catparser

package module
v0.0.0-...-526d0c2 Latest Latest
Warning

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

Go to latest
Published: Sep 21, 2019 License: GPL-2.0 Imports: 6 Imported by: 1

README

CatParser

介绍

golang 的字节转换库

基本功能已经完成

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DataViewParse map[string]DataViewParseFunc

DataViewParse 视图解析过程

View Source
var ParseTag map[string]DataViewExFunc

ParseTag 标签解析

Functions

func ShiftJisToUnicode

func ShiftJisToUnicode(uint8Array []byte) (str string, err error)

ShiftJisToUnicode ShiftJis转Unicode

Types

type DataView

type DataView struct {
	binary.ByteOrder

	Parse map[string]DataViewParseFunc
	//! 扩展信息
	ExpandFunc  map[string]DataViewExViewFunc
	ExpandValue map[string]reflect.Value
	// contains filtered or unexported fields
}

DataView 数据视图 ? 转换数据: ! bool ! int8 ! uint8 ! int16 ! uint16 ! int32 ! uint32 ! int64 ! uint64 ! float32 ! float64

func NweDataView

func NweDataView(buf io.ReadWriter, LittleEndian bool) *DataView

NweDataView 创建数据视图

func (*DataView) GetChars

func (D *DataView) GetChars(size int) (str string)

GetChars 得到数据

func (*DataView) GetFloat32

func (D *DataView) GetFloat32() float32

GetFloat32 处获取一个32-bit数(浮点型)

func (*DataView) GetFloat64

func (D *DataView) GetFloat64() float64

GetFloat64 处获取一个64-bit数(双精度浮点型)

func (*DataView) GetIndex

func (D *DataView) GetIndex(Type int64) (size int32)

GetIndex 索引

func (*DataView) GetSjisStringsAsUnicode

func (D *DataView) GetSjisStringsAsUnicode(size int) string

GetSjisStringsAsUnicode 得到数据

func (*DataView) GetTextBuffer

func (D *DataView) GetTextBuffer() string

GetTextBuffer 得到数据

func (*DataView) GetUnicodeStrings

func (D *DataView) GetUnicodeStrings(size int) string

GetUnicodeStrings 得到数据

func (*DataView) Read

func (D *DataView) Read(v interface{}) error

Read 接口转换

func (*DataView) ReadInterface

func (D *DataView) ReadInterface(v interface{}) error

ReadInterface 接口转换

func (*DataView) SetFloat32

func (D *DataView) SetFloat32(v float32) error

SetFloat32 处储存一个32-bit数(浮点型)

func (*DataView) SetFloat64

func (D *DataView) SetFloat64(v float64) error

SetFloat64 处储存一个64-bit数(双精度浮点型)

func (*DataView) Write

func (D *DataView) Write(v interface{}) error

Write 接口转换

type DataViewEx

type DataViewEx struct {
	DataView
}

DataViewEx 数据视图扩展

func NweDataViewEx

func NweDataViewEx(buf io.ReadWriter, LittleEndian bool) (dv *DataViewEx)

NweDataViewEx 创建数据视图扩展

type DataViewExFunc

type DataViewExFunc func(tag string, itself *DataViewExParseTag)

DataViewExFunc 扩展标签解析过程

type DataViewExParseTag

type DataViewExParseTag struct {
	//! 运行信息
	Position int
	Process  TagProcess
	//! 数据信息
	View             *DataView      //? 指向数据视图
	Itself           *reflect.Value //? 指向结构体
	ItselfType       reflect.Type   //? 指向结构体类型
	Value            reflect.Value  //? 指向当前解析的结构体成员
	ValueStructField reflect.StructField
	//! 返回信息
	Error error
}

DataViewExParseTag 扩展标签解析过程

type DataViewExViewFunc

type DataViewExViewFunc func(itself *DataViewExParseTag)

DataViewExViewFunc 扩展标签解析过程

type DataViewParseFunc

type DataViewParseFunc func(view *DataView, value *reflect.Value) error

DataViewParseFunc 解析过程

type TagProcess

type TagProcess uint

TagProcess 标签流程控制

const (
	TagPatientia    TagProcess = iota
	TagBreak                   //? 跳过剩余标签处理
	TagMainContinue            //? 跳过当前解析
	TagMainBreak               //? 跳过全部解析
)

Jump to

Keyboard shortcuts

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