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

#1730 in Encoding

Download history 69/week @ 2024-11-16 42/week @ 2024-11-23 41/week @ 2024-11-30 73/week @ 2024-12-07 39/week @ 2024-12-14 22/week @ 2024-12-21 27/week @ 2024-12-28 37/week @ 2025-01-04 44/week @ 2025-01-11 39/week @ 2025-01-18 38/week @ 2025-01-25 25/week @ 2025-02-01 9/week @ 2025-02-08 34/week @ 2025-02-15 409/week @ 2025-02-22 678/week @ 2025-03-01

1,132 downloads per month
Used in 7 crates (4 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