Skip to content

Latest commit

 

History

History
48 lines (34 loc) · 639 Bytes

File metadata and controls

48 lines (34 loc) · 639 Bytes

parbyte

A library for parsing binary formats into Go values, based on encoding/json and BurntSushi/toml.

Installation

go get -u github.com/voidwyrm-2/parbyte

Example

package main

import (
	"fmt"
	"os"

	"github.com/voidwyrm-2/parbyte"
)

type metadata struct {
	Name     string
	Checksum [9]byte
	Content  []string
}

func main() {
	fr, err := os.Open("test.bin")
	if err != nil {
		panic(err)
	}

	defer fr.Close()

	decoder := parbyte.NewDecoder(fr, nil)

	md := metadata{}

	err = decoder.Decode(&md)
	if err != nil {
		panic(err)
	}

	fmt.Println(md.Name)
	fmt.Println(md.Checksum)
	fmt.Println(md.Content)
}