#encode #decode #utf-8

base65536

A binary encoding optimized for UTF-32/UCS-4 encoded text and Twitter

7 releases (2 stable)

1.0.1 May 17, 2021
1.0.0 Sep 30, 2019
0.4.0 Dec 27, 2017
0.3.1 Aug 27, 2017
0.1.0 May 29, 2017

#582 in Encoding

Download history 126/week @ 2023-01-31 255/week @ 2023-02-07 105/week @ 2023-02-14 49/week @ 2023-02-21 96/week @ 2023-02-28 60/week @ 2023-03-07 83/week @ 2023-03-14 273/week @ 2023-03-21 89/week @ 2023-03-28 49/week @ 2023-04-04 114/week @ 2023-04-11 142/week @ 2023-04-18 204/week @ 2023-04-25 166/week @ 2023-05-02 111/week @ 2023-05-09 87/week @ 2023-05-16

621 downloads per month
Used in 6 crates (3 directly)

Apache-2.0

4MB
2K SLoC

base65536

Build Status Docs.rs Crates.io License

An implementation of qntm's base65536 for Rust.

Base65536 is a binary encoding optimized for UTF-32/UCS-4 encoded text and Twitter. See the original implementation's README for more information.

Installation

Add the following to your Cargo.toml:

[dependencies]
base65536 = "1.0"

FNV

By default, base65536 uses the Fowler–Noll–Vo hash function, from an external crate, for a static internal HashMap. This has no security implications.

You can disable this, and use the standard library's defualt hash function:

[dependencies]
base65536 = { version = "1.0", default-features = false }

Testing

Testing requires that submodules be downloaded. Before testing, run:

git submodule update --init

Benchmarks are available on nightly rust with the nightly feature.

Dependencies