Categorygithub.com/Defacto2/magicnumber
repositorypackage
1.0.5
Repository: https://github.com/defacto2/magicnumber.git
Documentation: pkg.go.dev

# README

Defacto2 / magicnumber

Go Reference Go Report Card

The magicnumber package is to read the bytes within a file to learn of the format or type of file. This is useful for identifying the file without relying on the file extension or MIME type. See the reference documentation for additional usage and examples.

package main

import (
    "fmt"
    "log"
    "os"

    "github.com/Defacto2/magicnumber"
)

func main() {
    file, err := os.Open("example.exe")
    if err != nil {
        log.Fatal(err)
    }
    defer file.Close()

    mn, err := magicnumber.Find(file)
    if err != nil {
        log.Fatal(err)
    }

    fmt.Printf("File type: %s\n", mn.Type)
    fmt.Printf("File extension: %s\n", mn.Extension)
}