#substitute #sub #eof #stop

ctrl-z

一个将0x1A视为文件结束标记的可组合读取器

1 个不稳定版本

使用旧的 Rust 2015

0.1.0 2022年7月20日

#1107文本处理

22 每月下载量

MIT/Apache

12KB
149

ctrl-z

GitHub Workflow Status codecov.io crates.io docs.rs MSRV License

一个将0x1A视为文件结束标记的可组合读取器。

在历史上,0x1A(通常称为CTRL-Z^Z或一个“替换字符”)在旧系统中被用来显式标记文件结束。虽然现代系统不再需要这种做法,但一些遗留文件仍然包含这个字节来标记文件结束。这个库提供了一个读取器,将0x1A视为文件结束,而不是将其作为普通字节读取。

用法

这个库提供了一个名为struct的读取器,名为ReadToCtrlZ。按照惯例,这个读取器可以与其他实现了ReadBufRead特性的类型组合使用。该读取器检查返回的字节是否存在EOF标记0x1A,并在遇到它时停止读取。

示例

例如,下面的读取器仅读取到0x1A字节,然后停止读取。

use ctrl_z::ReadToCtrlZ;

let mut reader = ReadToCtrlZ::new(b"foo\x1abar".as_slice());
let mut output = String::new();

// Reading omits the final `0x1A` byte.
assert!(reader.read_to_string(&mut output).is_ok());
assert_eq!(output, "foo");

最低支持的Rust版本

这个crate保证在稳定版rustc 1.0.0及以上版本中编译。

许可证

本项目根据您的选择受以下任一许可证的约束:

任选其一。

贡献

除非您明确说明,否则您有意提交给本项目的工作,根据Apache-2.0许可证的定义,应按上述方式双重许可,不附加任何额外条款或条件。

无运行时依赖