This base58
package implements Logic optimized for unsigned int64.
$ go get -u github.com/osamingo/bae58
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
}
# 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
Released under the MIT License.