#string #encoding #modified-utf8

mutf8

基本支持MUTF-8字符串

6个版本 (重大更新)

0.5.0 2020年11月18日
0.4.1 2020年7月2日
0.3.0 2020年7月2日
0.2.0 2019年1月1日
0.1.0 2018年12月31日

文本处理类别中排名第826

Download history 26/week @ 2024-03-11 24/week @ 2024-03-18 2/week @ 2024-03-25 57/week @ 2024-04-01 20/week @ 2024-04-08 9/week @ 2024-04-15 23/week @ 2024-04-22 18/week @ 2024-04-29 7/week @ 2024-05-06 17/week @ 2024-05-13 40/week @ 2024-05-20 17/week @ 2024-05-27 22/week @ 2024-06-03 31/week @ 2024-06-10 29/week @ 2024-06-17 27/week @ 2024-06-24

每月下载量:110
7个crate中使用(直接使用4个)

MIT授权

23KB
532

MUTF-8

用法

fn main() {
    let output: Cow<u8> = mutf8::utf8_to_mutf8("Hello, \0World");

    // `output` contains no NUL bytes.
}

还存在一个MStringmstr结构体。
这些是标准库中Stringstr的对立面。

fn main() {
    let data = mstr::from_utf8(b"\0");
	assert_eq!(data.len(), 2);
}

关于

这个crate允许将UTF-8转换为MUTF-8,反之亦然。

一些数据格式,例如JVM类文件,使用了一种修改过的UTF-8编码。
特别是,这是一种MUTF-8变体。

它允许不使用NUL字节本身来编码NUL字节。

正在进行中

算法本身已经完成,可以使用。
它和其他算法一样好。

我仍然把这个crate称为WIP的原因是因为有两个String结构体。
我对它们不满意。

我确实使用这个crate在一些项目中,但没有一个使用这些结构体本身。

我通常将这个crate用作从[u8]Cow<str>的跳板。
所以,直到我确定这个crate的走向,它可能还会保持这样。

依赖项

~180KB