#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

#1776 in Encoding

Download history 33/week @ 2024-07-22 36/week @ 2024-07-29 44/week @ 2024-08-05 28/week @ 2024-08-12 26/week @ 2024-08-19 36/week @ 2024-08-26 20/week @ 2024-09-02 42/week @ 2024-09-09 23/week @ 2024-09-16 73/week @ 2024-09-23 45/week @ 2024-09-30 28/week @ 2024-10-07 54/week @ 2024-10-14 44/week @ 2024-10-21 21/week @ 2024-10-28 35/week @ 2024-11-04

156 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