7个稳定版本
2.3.4 | 2021年11月8日 |
---|---|
2.3.3 | 2020年9月22日 |
2.3.1 | 2020年4月4日 |
2.3.0 | 2020年3月19日 |
#435 in 文本处理
205KB
3K SLoC
标题:stringsext - 在二进制数据中搜索多字节编码的字符串
stringsext 是 GNU strings 工具的Unicode增强版本,具有额外功能:stringsext 识别西里尔字母、阿拉伯字母、CJKV字符和其他脚本,支持所有多字节编码,而 GNU strings 在 UTF-16 和许多其他编码中无法找到这些脚本。
stringsext 打印出 FILE 或 stdin 中所有至少为 MIN 字节的图形字符序列。
与 GNU strings 不同,stringsext 可以配置为在 ASCII 以外,还可以在许多其他输入编码中搜索有效字符,例如:UTF-8、UTF-16BE、UTF-16LE、BIG5-2003、EUC-JP、KOI8-R 等。选项 --list-encodings 显示基于 WHATWG 编码标准的有效编码名称列表。当指定多个编码时,扫描将在不同的线程中同时进行。
在搜索 UTF-16 编码的字符串时,96% 的所有可能的双字节序列,作为 UTF-16 码单元解释,直接与 Unicode 码点相关。因此,将随机字节流作为 UTF-16 解释时,遇到有效 Unicode 字符的概率也是 96%。为了减少大量错误,stringsext 提供了可参数化的 Unicode 块过滤器。有关详细信息,请参阅手册页中的 --encodings 和 --same-unicode-block 选项。
stringsext 主要用于从非文本文件中提取 Unicode 内容。
使用 stringsext -e ascii
调用时,stringsext 可用作 GNU strings 的替代品。
截图
stringsext -tx -e utf-8 -e utf-16le -e utf-16be \
-n 10 -a None -u African /dev/disk/by-uuid/567a8410
3de2fff0+ (b UTF-16LE) ݒݓݔݕݖݗݙݪ
3de30000+ (b UTF-16LE) ݫݱݶݷݸݹݺ
<3de36528 (a UTF-8) فيأنمامعكلأورديافىهولملكاولهبسالإنهيأيقدهلثمبهلوليبلايبكشيام
>3de36528+ (a UTF-8) أمنتبيلنحبهممشوش
<3de3a708 (a UTF-8) علىإلىهذاآخرعددالىهذهصورغيركانولابينعرضذلكهنايومقالعليانالكن
>3de3a708+ (a UTF-8) حتىقبلوحةاخرفقطعبدركنإذاكمااحدإلافيهبعضكيفبح
3de3a780+ (a UTF-8) ثومنوهوأناجدالهاسلمعندليسعبرصلىمنذبهاأنهمثلكنتالاحيثمصرشرححو
3de3a7f8+ (a UTF-8) لوفياذالكلمرةانتالفأبوخاصأنتانهاليعضووقدابنخيربنتلكمشاءوهياب
3de3a870+ (a UTF-8) وقصصومارقمأحدنحنعدمرأياحةكتبدونيجبمنهتحتجهةسنةيتمكرةغزةنفسبي
3de3a8e8+ (a UTF-8) تللهلناتلكقلبلماعنهأولشيءنورأمافيكبكلذاترتببأنهمسانكبيعفقدحس
3de3a960+ (a UTF-8) نلهمشعرأهلشهرقطرطلب
3df4cca8 (c UTF-16BE) փօև։֍֏֑֛֚֓֕֗֙֜֝֞
<3df4cd20 (c UTF-16BE) ־ֿ׀ׁׂ׃ׅׄ׆ׇ
文档
用户文档
开发者文档
源代码
存储库
分发
-
适用于Ubuntu-Linux 18.04、Windows、MacOS的二进制文件(Debian二进制文件见下文)
-
打开最新发布版本。
-
打开assets。
-
下载适用于您的操作系统的打包可执行文件。
-
安装:见下文。
-
二进制文件和软件包(通常从最新提交构建)
-
Windows可执行文件
-
Debian 10 Buster的二进制文件
x86_64-unknown-linux-gnu/release/stringsext
x86_64-unknown-linux-musl/release/stringsext
-
Debian 10 Buster的软件包
-
-
可安装的Unix man-page
-
包含所有二进制文件和文档的zip文件
构建和安装
-
安装Rust,例如
curl https://sh.rustup.rs -sSf | sh
-
下载、编译和安装
cargo install stringsext sudo cp ~/.cargo/bin/stringsext /usr/local/bin
本项目遵循语义化版本控制。
关于
作者
- Jens Getreu
版权
- Apache 2许可证或MIT许可证
构建状态
依赖
~6.5MB
~167K SLoC