温馨提示×

ubuntu strings支持中文吗

小樊
49
2026-09-06 13:49:51
栏目: 智能运维

strings 本身是 支持的,但要看你指的是哪种“支持”。

1. strings 能不能提取中文?

可以。

strings 默认提取的是可打印字符序列。对于中文(UTF-8 编码),只要文件中存在连续的中文字节,并且长度满足 -n 指定的最小长度(默认一般是 4),就会被提取出来。

例如:

strings test.bin

如果文件里有:

这是一段中文

在 UTF-8 下是多个字节,strings 会把它当作一串“可打印字符”输出。

⚠️ 注意:

  • 默认最小长度通常是 4 字节
  • 一个中文字在 UTF-8 里是 3 字节
  • 所以 少于 2 个汉字可能不会被显示

你可以降低长度限制:

strings -n 1 file

strings -n 3 file

2. strings 会不会“乱码”?

不会“乱码”,但它不做编码转换

  • 文件是 UTF-8 → 终端也是 UTF-8 → 正常显示中文
  • 文件是 GBK / GB2312 → 终端是 UTF-8 → 看起来像乱码

解决方式:

strings file | iconv -f GBK -t UTF-8

3. Ubuntu 自带的 strings 是什么?

Ubuntu 上通常是:

  • binutils 提供的 strings
strings --version

总结

strings 支持中文
✅ 能提取 UTF-8 中文
⚠️ 注意最小长度
⚠️ 编码不一致可能“看似乱码”

如果你有具体场景(比如 ELF、二进制、日志、反编译),我可以给你更精确的命令。

0