base128-ascii
v5.0.6
Published
Smaller than base64, only use ASCII, can run in web browser.
Maintainers
Readme
Smaller than base64, only use ASCII, can run in web browser.
Build for vite-plugin-singlefile-compression
Preview: https://bddjr.github.io/base128/
Setup
npm i base128-ascii@latestimport base128 from "base128-ascii"
import fs from "fs"
const input = fs.readFileSync("example.gz")
const encodedTemplate = base128.encode(input).toJSTemplateLiterals()
const decodedBytes = base128.decode(eval(encodedTemplate))Effect
Encode this jpg file, use base128 is 112487 Bytes smaller than base64:
screenshot-45.519.jpg
file length: 682086
base128:
time encode: 10.177ms
time toString: 2.107ms
time toJSTemplateLiterals: 11.586ms
toJSTemplateLiterals length: 796961
time eval: 5.97ms
time decode: 4.436ms
equal: true
base64:
encoded length: 909448Encode 50MB file, use base128 is 8180525 Bytes smaller than base64:
50MB
file length: 50000000
base128:
time encode: 69.156ms
time toString: 10.252ms
time toJSTemplateLiterals: 148.9ms
toJSTemplateLiterals length: 58486143
time eval: 1.046s
time decode: 183.151ms
equal: true
base64:
encoded length: 66666668