温馨提示×

ubuntu strings能查中文吗

小樊
44
2026-09-12 09:03:29
栏目: 智能运维

可以,strings 本身能“查到”中文,但有一些前提和限制


一、strings 能不能显示中文?

能,但要满足两个条件:

  1. 文件里确实包含中文(不是图片、不是加密)
  2. 中文是以“文本形式”存储的
    • UTF-8
    • GBK / GB2312
    • 其他编码也可以,只要不是压缩或加密

strings 默认会提取可打印字符序列,中文在 UTF-8 下也是可打印字节,所以能看到。


二、常见问题

1️⃣ 中文显示成乱码

通常是编码问题:

strings file.bin

如果系统是 UTF-8,而文件是 GBK,就会乱码。

✅ 解决方式:

strings file.bin | iconv -f gbk -t utf-8

或反过来:

strings file.bin | iconv -f utf-8 -t gbk

2️⃣ 中文太短被忽略

strings 默认只输出 长度 ≥ 4 的字符串。

✅ 降低长度限制:

strings -n 1 file.bin

3️⃣ 想只找中文

可以配合 grep

strings file.bin | grep -P '[\x{4e00}-\x{9fff}]'

(需要 UTF-8 环境)


三、例子

strings test.bin | grep 用户名

或:

strings -e l test.bin

-e l 表示 16-bit little-endian Unicode(UTF-16LE),常用于 Windows 程序。


四、总结

strings 能查中文
⚠️ 可能遇到:

  • 编码不对 → 乱码
  • 长度太短 → 看不见
  • 非文本存储 → 查不到

如果你愿意,可以告诉我:

  • 文件类型(ELF / EXE / 日志 / 二进制)
  • 中文大概是什么编码

我可以给你更精确的命令。

0