#byte-offset #line-column #offset #byte-stream #convert-bytes #converter #numbers

stream-locate-converter

一种流式读取器,可以将字节偏移量与行列号相互转换。支持任何实现了 io::Read 的类型。

3 个版本

0.1.2 2024年7月31日
0.1.1 2024年7月31日
0.1.0 2024年7月30日

#553算法

Download history 330/week @ 2024-07-28 8/week @ 2024-08-04

每月下载量 338

自定义许可

11KB
257

stream-locate-converter

读取器偏移量和行列位置转换器。
一种流式读取器,可以将字节偏移量与行列号相互转换。支持任何实现了 io::Read 的类型。

示例

use stream_locate_converter::Stream;
use stream_locate_converter::location;
use std::fs;

fn main() -> io::Result<()> {
  let file = fs::File::open("foo.rs")?;
  let mut stream = Stream::from(file);

  let offset = location::Offset::new(20);
  let line_index = stream.line_index(offset)?;

  let (line, col) = line_index.one_based().raw();
  println!("The offset is on line {line}, column {col}.");
}

无运行时依赖