#command-line #inspect #command-line-tool #utility #byte #inspector #wrap

bin+lib string-inspector

用于检查 Unicode 字符串的命令行工具

1 个不稳定版本

0.0.1 2019年7月21日

#24#inspector

MIT 许可证

18KB
300 行代码(不含注释)

字符串检查器

CircleCI

用于检查 Unicode 字符串的命令行工具

如何安装

待办事项

用法

cargo运行 hello world

示例输出

[utf-8]
bytes: 68 65 6c 6c 6f 20 77 6f 72 6c 64
chars: h  e  l  l  o     w  o  r  l  d

hello world

有关详细用法,请参阅 cargo run -- -h

版本控制

本项目遵循 语义版本控制

贡献

欢迎所有贡献,但以下标签的问题可能是开始的好地方

有关更多详细信息,请参阅 CONTRIBUTING.md

许可证

所有代码均在 MIT 许可证 下免费使用


lib.rs:

用于检查 Unicode 字符串的实用工具。

用法

使用 DecodedString 将字节数据和 rust-encoding 编码包装起来。

let bytes = [65, 66, 67];
let string = string_inspector::DecodedString::decode(&bytes, encoding::all::ISO_8859_2).unwrap();

assert_eq!("ABC", string.to_string());
assert_eq!("\u{1b}[32mA  \u{1b}[0m\u{1b}[34mB  \u{1b}[0m\u{1b}[32mC  \u{1b}[0m", string.format_characters());
assert_eq!("\u{1b}[32m41 \u{1b}[0m\u{1b}[34m42 \u{1b}[0m\u{1b}[32m43 \u{1b}[0m", string.format_bytes());

DecodedString 包含一系列 DecodedCharacters,它们保留原始的字节表示形式

let bytes = [65, 66, 67];
let string = string_inspector::DecodedString::decode(&bytes, encoding::all::ISO_8859_2).unwrap();

assert_eq!(3, string.characters.len());
assert_eq!('A', string.characters[0].character);
assert_eq!(vec![65], string.characters[0].bytes);

依赖关系

~3–11MB
~81K SLoC