3 个稳定版本
1.1.1 | 2023 年 4 月 3 日 |
---|---|
1.0.1 | 2019 年 10 月 19 日 |
在 国际化 (i18n) 中排名第 83
每月下载量 28 次
7KB
69 行
utf8-norm,验证和规范 UTF-8 Unicode 数据
关于
版本 1.1.0,授权 GPLv3。© 2019 Leonora Tindall [email protected] 快速命令行 Unicode 规范化,支持流安全转换以及 NFC、NFD、NFKD 和 NFKC。如果输入流不是有效的 UTF-8,则退出失败。
用法
用法:utf8-norm [--nfc | --nfd | --nfkc | --nfkd] [--stream-safe] [--crlf]
<infile> (default stdin) - file from which to read bytes.
<outfile> (default stdout) - file to which to write normalized Unicode.
-w, --crlf - write CRLF (Windows) instead of LF only (Unix) at the end of lines.
-d, --nfd - write NFD (canonical decomposition).
-D, --nfkd - write NFKD (compatibility decomposition).
-c, --nfc - write NFC (canonical composition computed from NFD). This is the default.
-C, --nfkc - write NFKC (canonical composition computed from NFC).
-s, --stream-safe - write stream-safe bytes (Conjoining Grapheme Joiners, UAX15-D4).
-b, --buffered - read the entire input file into memory before operating on it.
-V, --version - output version information and exit.
除非指定了 --buffered,否则 utf8-norm 以行为单位处理输入。
--buffered 选项主要用于读写同一文件。它将从输入中读取字节直到文件结束,然后才开始处理输入的行。
示例
将 input.txt 的内容,兼容地分解,并带有 CRLF 行结束符,写入 output.txt
utf8-norm --nfkd --crlf input.txt output.txt
在规范组成中规范化文件.md,在内存中缓冲文件以避免用零覆盖它
utf8-norm --buffered file.md file.md
逐行输出 my_program 的输出到 stdout,在规范组成中。
my_program | utf8-norm
在内存中缓冲 my_program 的整个输出,并在接收到文件结束符后以规范组成将其输出到 my_program.output。
my_program | utf8-norm --buffered - my_program.out
关于
utf8-norm 是在俄亥俄州代顿的 Rust Belt Rust 2019 上创建的。感谢 @j41manning 关于 Rust 中的 Unicode 处理的精彩演讲。
原生安装为 cargo install utf8-norm
或从您的发行版的包管理器。
依赖关系
~1MB
~41K SLoC