3个版本 (稳定版)
新 2.0.0-pre.1 | 2024年8月16日 |
---|---|
1.1.0 | 2024年7月21日 |
1.0.0 | 2024年3月10日 |
#340 在 文本处理
每月下载量:206
95KB
2K SLoC
数据流
数据流为使用流读写数据提供流扩展特质。
使用方法
使用data-streams
添加依赖项,使用cargo add data-streams
命令,或在您的Cargo.toml
中进行手动添加
[dependencies]
data-streams = "1.1.0"
use data_streams::{DataSource, DataSink, Result};
fn read(source: &mut impl DataSource) -> Result<()> {
let int: i32 = source.read_i32()?; // or use generic read_int()
let str: &str = source.read_utf8_to_end(&mut String::default())?;
let bytes: &[u8] = source.read_bytes(&mut [0; 128])?;
}
fn write(source: &mut impl DataSink) -> Result<()> {
source.write_i32(12345)?; // or use generic write_int()
source.write_utf8("something")?;
source.write_bytes(&[1, 2, 3, 4, 5])?;
}
功能标志
utf8
功能启用使用UTF-8字节的读取,由simdutf8
crate提供高性能验证。
no_std
支持
这个crate支持no_std
和没有alloc
的环境。分别通过std
和alloc
功能来切换。使用no_std
可以在嵌入式环境中使用,但会失去std::io
提供的类型实现。禁用alloc
将移除向向量/字符串读取。
依赖关系
~220–310KB