rfc9839-rs

Crates.iorfc9839-rs
lib.rsrfc9839-rs
version0.0.3
created_at2025-08-23 17:29:51.166616+00
updated_at2025-08-25 19:55:19.978114+00
descriptionA rust implementation of RFC9839 to test for problematic Unicode code points
homepage
repositoryhttps://github.com/lorlouis/rfc9839-rs
max_upload_size
id1807729
size8,458
Louis Sven Goulet (lorlouis)

documentation

README

RFC9839-rs

A rust implementation of RFC9839 to test for problematic Unicode code points

Inspired by the Go implementation https://github.com/timbray/RFC9839/tree/main

What is RFC9839

RFC9839 includes a few definition for accepted character classes.

  • Unicode Scalars

    Any Unicode code point except high-surrogate and low-surrogate code points

  • Xml Characters

    Unicode code points that excludes surrogates, legacy C0 controls, and the noncharacters U+FFFE and U+FFFF.

  • Unicode Assignables

    Unicode code points that are not problematic. This, a proper subset of each of the others, comprises all code points that are currently assigned, excluding legacy control codes, or that might be assigned in the future.

Why this crate

  • no_std

    This crates does not make any allocations and thus can be used on embedded systems

  • const fn

    Functions checking individual characters can all be called from a const context.

  • Well tested

    Every character class is checked against the full u32 Range of possible values.

Commit count: 14

cargo fmt