osamingo / base58

Package base58 implements encoding and decoding of base58

Home Page:https://pkg.go.dev/github.com/osamingo/base58

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

base58

CI codecov Go Report Card Go Reference GitHub license

About

This base58 package implements Logic optimized for unsigned int64.

Install

$ go get -u github.com/osamingo/bae58

Usage

package main

import (
	"log"

	"github.com/osamingo/base58"
)

func main() {

	enc, err := base58.NewEncoder(base58.StandardSource)
	if err != nil {
		log.Fatal("failed to generate base58.Encoder", err)
	}

	src := uint64(9223372036854775808)
	dst := enc.Encode(src)

	log.Println(dst)
	// Output: NQm6nKp8qFD

	ret, err := enc.Decode(dst)
	if err != nil {
		log.Fatal("failed to decode, dst = "+dst, err)
	}

	log.Println(ret)
	// Output: 9223372036854775808
}

Benchmark

# Machine: MacBook Pro (13-inch, 2018, Four Thunderbolt 3 Ports)
# CPU    : 2.7 GHz Intel Core i7
# Memory : 16 GB 2133 MHz LPDDR3

goos: darwin
goarch: amd64
pkg: github.com/osamingo/base58
BenchmarkEncoder_Encode-8   	15775299        71.5 ns/op      46 B/op      1 allocs/op
BenchmarkEncoder_Decode-8   	36928071        29.8 ns/op       0 B/op      0 allocs/op
PASS

License

Released under the MIT License.

About

Package base58 implements encoding and decoding of base58

https://pkg.go.dev/github.com/osamingo/base58

License:MIT License


Languages

Language:Go 100.0%