是否有适用于UTF-8的“strings”命令?

10

Linux命令strings用于在二进制文件中查找ASCII字符串。 是否有用于显示UTF-8字符串的命令行工具?


不,没有。 - Weihang Jian
1个回答

5
strings命令支持--encoding选项。请查看man页面
但是,尝试使用任何可能的选项值提取UTF-8字符串均失败。目前正在搜索邮件列表,如果找到更多帮助,将更新此内容。

3
UTF-8字符是可变字节宽度的,这与strings的固定宽度模式匹配性质不兼容。 - Alastair McCormack
4
在我的Debian 9系统上,使用strings -e S命令可以处理UTF-8编码的字符串。strings版本为2.28LANG设置为de_CH.UTF-8 - 12431234123412341234123
@12431234123412341234123 感谢您的评论!我稍后会进行测试,如果可以复现,我会更新答案。 - hek2mgl
@DevSolar ASCII 只有 127 个字符。 - hek2mgl
1
无法理解上一条评论。UTF-8编码一个字节的字符是U+0000到U+007F代码点。这与ASCII-7的相同范围(0x00到0x7f)是相同的,巧合的是,这完全是ASCII-7。对于超出此范围的任何内容,例如“Ä”,UTF-8使用两个或更多字节(而ISO/IEC 8859 /“扩展ASCII”使用0x80..0xff范围来编码单字节编码集中的其他字符)。不存在“编码在一个字节中但比ASCII更多”的UTF-8字符。 - DevSolar
显示剩余6条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接