#binary-encoding #text-encoding #decode #encode #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

#2081 in Encoding

Download history 36/week @ 2024-06-14 26/week @ 2024-06-21 20/week @ 2024-06-28 48/week @ 2024-07-05 51/week @ 2024-07-12 34/week @ 2024-07-19 41/week @ 2024-07-26 36/week @ 2024-08-02 39/week @ 2024-08-09 24/week @ 2024-08-16 29/week @ 2024-08-23 26/week @ 2024-08-30 33/week @ 2024-09-06 32/week @ 2024-09-13 56/week @ 2024-09-20 45/week @ 2024-09-27

168 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