5 个版本
0.1.4 | 2021 年 10 月 25 日 |
---|---|
0.1.3 | 2021 年 10 月 25 日 |
0.1.2 | 2021 年 10 月 24 日 |
0.1.1 | 2021 年 10 月 24 日 |
0.1.0 | 2021 年 10 月 24 日 |
#131 在 国际化 (i18n)
每月 23 次下载
80KB
1K SLoC
aconv
将文本从自动检测的编码转换为 UTF-8 或指定的编码。
这与 iconv
命令类似,但有以下不同。
- 如果未指定源编码,将检测编码。
- 使用替换字符或相应的数字字符引用替换格式错误的字节序列,这取决于目标字符集(即 Unicode 或非 Unicode)。
- 可以递归地转换目录中的文件,并将转换后的文件输出到指定的目录,同时保留目录层次结构。
由于这个库依赖于 encoding_rs
,因此可用的编码是在 编码标准 中定义的。
注意:UTF-16 文件需要 BOM 才能被检测为编码。
这是因为 chardetng
(此库所依赖的库),不支持 UTF-16,而这个库仅添加了 BOM 检测以检测 UTF-16。
安装
cargo install aconv
用法
Converts texts from the auto-detected encoding to UTF-8 or a specified encoding.
If byte sequences that is malformed as Unicode are found,
they are replaced with the REPLACEMENT CHARACTER(U+FFFD).
If the destination encoding is not Unicode and unmappable characters are found, they are
replaced with the corresponding numeric character references.
If the encoding detection is considered it failed, the input texts are output as-is,
meaning no conversion takes place, and an error message is emitted.
USAGE:
aconv [FLAGS] [OPTIONS] [FILE]...
FLAGS:
-h, --help Prints help information
-l, --list Prints supported encodings
-q, --quiet Suppresses error messages when encoding detection failed
-s, --show Only shows auto-detected encodings without decoded texts
-V, --version Prints version information
OPTIONS:
-o, --output <DIRECTORY> Output directory. If input arguments contain directories, the directory
hierarchies are preserved under DIRECTORY
-t, --to-code <ENCODING> The encoding of the output [default: UTF-8]
-A, --non_ascii_to_guess <NUMBER> The number of non-ASCII characters to guess the encoding. Around 100
characters are enough for most cases, but if the guess is not accurate,
increasing the value might help [default: 100]
-T, --non-text-threshold <PERCENTAGE> The threshold (0-100) of non-text character occurrence. Above this
threshold in decoded UTF-8 texts, the encoding detection is treated as it
failed. In that case the input texts are output as-is with an error message
emitted [default: 0]
ARGS:
<FILE>... Files (or directories) to process
编码检测的工作方式
请参阅 transcoding_rs。
许可
根据您的选择,许可如下:
- Apache 许可证 2.0 版(LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT 许可证(LICENSE-MIT 或 http://opensource.org/licenses/MIT)
。
贡献
除非您明确声明,否则您提交给包括在作品中的任何贡献,根据 Apache-2.0 许可证定义,将按照上述方式双重许可,没有任何额外的条款或条件。
依赖关系
~7MB
~179K SLoC