3 个不稳定版本
0.1.1 | 2024年4月23日 |
---|---|
0.1.0 | 2024年4月23日 |
0.0.0 | 2024年4月23日 |
1193 在 文本处理
34KB
608 行
这是一个用于抽象拥有或引用字符串编码的 crate,底层使用 widestring
和 ascii
crates。
它适用于你可能想要序列化/反序列化字符串或将其移动到其他位置,但你并不关心其编码的情况。支持 std 和无 std 环境。
目前支持以下编码
- ASCII
- UTF-8
- UTF-16
- UTF-32
此 crate 提供了两种主要类型:AnyString
,一个拥有字符串类型,以及 AnyStr
,它是一个引用类型。
迭代示例
use anystr::AnyStr;
use widestring::utf16str;
let any = AnyStr::Utf16(utf16str!("Hello world, but utf-16!"));
fn print_any(str: AnyStr) {
for ch in str.chars() {
print!("{ch}");
}
println!();
}
print_any(any);
MSRV
此 crate 将始终针对最新的 Rust 版本,但它可能与旧版本兼容。
注意
尽管如此,这个项目主要是作为一个小的个人项目来制作的,目的是在某些情况下作为一个工具使用,并不打算替代更大的字符串处理 crates。
依赖项
~3–4.5MB
~81K SLoC