1 个不稳定版本
使用旧的 Rust 2015
0.1.0 | 2022年7月20日 |
---|
#1107 在 文本处理
22 每月下载量
12KB
149 行
ctrl-z
一个将0x1A
视为文件结束标记的可组合读取器。
在历史上,0x1A
(通常称为CTRL-Z
,^Z
或一个“替换字符”)在旧系统中被用来显式标记文件结束。虽然现代系统不再需要这种做法,但一些遗留文件仍然包含这个字节来标记文件结束。这个库提供了一个读取器,将0x1A
视为文件结束,而不是将其作为普通字节读取。
用法
这个库提供了一个名为struct
的读取器,名为ReadToCtrlZ
。按照惯例,这个读取器可以与其他实现了Read
或BufRead
特性的类型组合使用。该读取器检查返回的字节是否存在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 (LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
贡献
除非您明确说明,否则您有意提交给本项目的工作,根据Apache-2.0许可证的定义,应按上述方式双重许可,不附加任何额外条款或条件。