简短回答:能,但要看情况,而且有局限。
strings 本身能搜中文吗?可以。strings 默认是按字节串提取的,不关心编码。
例如一个二进制文件里包含 UTF-8 中文:
strings file.bin | grep "中文"
只要文件里的“中文”是 UTF-8 编码的连续字节,就能搜到。
strings 默认只显示 ≥4 字节 的串:
strings file
中文 UTF-8 一个字 3 字节,两个字才 6 字节,一般没问题。
如果你想搜更短的:
strings -n 1 file
grep -a "中文" file.bin
-a 把二进制当文本处理, often 更直接。
strings file.bin | iconv -f GBK -t UTF-8 | grep "中文"
strings 能搜中文如果你有具体文件类型(ELF / exe / 固件 / 日志),我可以给你更精确的命令。