5个不稳定版本
0.3.1 | 2021年10月28日 |
---|---|
0.3.0 | 2020年1月29日 |
0.2.0 | 2019年1月3日 |
0.1.1 | 2018年12月30日 |
0.1.0 | 2018年7月13日 |
#360 在 文本处理
25,316 每月下载量
被 132 个crates (56 直接) 使用
22KB
354 行
snailquote
此库提供转义和反转义字符串的函数。
它以类似'sh'兼容的方式转义(例如,支持反斜杠转义的引号,支持不转义的撇号)。
此外,它还提供对常见的C-like ascii转义的支持(如换行符\n
,垂直制表符\v
等)以及类似Rust字符串的Unicode(通过\u{12ff}
风格的转义)。
更重要的是,此库还提供了将给定的转义文本反转义以恢复原始字符串的能力。
有关用法和哪些转义序列将生效的更多信息,请参阅文档。
兼容性
snailquote旨在明确与以下用例兼容
- 用于用户编辑的任意字符串的可读编码;编辑后重新解析这些字符串。
- 读取和写入
os-release
文件的值。
其他文件可能有类似的类似shell的格式,snailescape可以与之工作,但需要您验证它是否足够相似以正确处理。
snailquote受到以下启发,但不与以下兼容
- gnulib quotearg,用于'ls'输出 -- snailquote处理Unicode转义的方式不同。
- ANSI-c字符串字面量引用 -- snailquote处理Unicode的方式不同,并支持shell相关的转义,如'$'。
- sh字符串引用 -- snailquote处理Unicode的方式不同,并且对shell特殊字符的处理更为宽松。
为什么不使用
我找到的其他Rust库中有一个或多个以下问题
- 转义文本不易于人类编辑
- 没有方法可以反转义文本
- NIH
依赖项
~0.7–1.1MB
~21K SLoC