You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 7-8.RSVP
Socket
Socket
Sign inDemoInstall

github.com/cristalhq/base64

Package Overview
Dependencies
Alerts
File Explorer
Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

github.com/cristalhq/base64

based on https://github.com/powturbo/Turbo-Base64


Version published

Readme

Source

base64

build-img pkg-img reportcard-img coverage-img

Faster base64 encoding for Go, based on Turbo-Base64.

Features

  • Drop-in replacement of encoding/base64.
    • except for error messages and ignoring \r and \n in decoder.
  • up to 3 times faster than encoding/base64.
  • Dependency-free.

Install

Go version 1.16+

go get github.com/cristalhq/base64

How to use

Replace import statement from encoding/base64 to github.com/cristalhq/base64

-import "encoding/base64"
+import "github.com/cristalhq/base64"

Benchmarks

go1.17 linux/amd64, Intel i7-7700

std/Encode           685.3 ns/op      0 B/op   0 allocs/op
std/EncodeToString   951.8 ns/op   2048 B/op   2 allocs/op
std/Decode           803.9 ns/op      0 B/op   0 allocs/op
std/DecodeString     1061 ns/op    1792 B/op   2 allocs/op

own/Encode           217.8 ns/op      0 B/op   0 allocs/op
own/EncodeToString   353.2 ns/op   1024 B/op   1 allocs/op
own/Decode           426.0 ns/op      0 B/op   0 allocs/op
own/DecodeString     598.7 ns/op    768 B/op   1 allocs/op

go1.17 darwin/arm64, Apple M1

std/Encode           413.0 ns/op       0 B/op  0 allocs/op
std/EncodeToString   608.3 ns/op    2048 B/op  2 allocs/op
std/Decode           372.5 ns/op       0 B/op  0 allocs/op
std/DecodeString     570.2 ns/op    1792 B/op  2 allocs/op

own/Encode           146.7 ns/op       0 B/op  0 allocs/op
own/EncodeToString   246.4 ns/op    1024 B/op  1 allocs/op
own/Decode           222.8 ns/op       0 B/op  0 allocs/op
own/DecodeString     303.1 ns/op     768 B/op  1 allocs/op

Fuzzing

Documentation

See these docs.

License

MIT License.

FAQs

Package last updated on 25 Aug 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc