#codec #decode #encode #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

#1851 in Encoding

Download history 15/week @ 2023-11-20 17/week @ 2023-11-27 33/week @ 2023-12-04 6/week @ 2023-12-11 32/week @ 2023-12-18 12/week @ 2023-12-25 208/week @ 2024-01-01 47/week @ 2024-01-08 181/week @ 2024-01-15 18/week @ 2024-01-22 12/week @ 2024-01-29 12/week @ 2024-02-05 16/week @ 2024-02-12 51/week @ 2024-02-19 50/week @ 2024-02-26 48/week @ 2024-03-04

165 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