Linux的hexdump
工具默认使用ASCII字符集来显示输出
-C
选项:这个选项会让hexdump
以字符形式(而不是字节形式)显示输出。这样,非ASCII字符会被正确地显示为它们的字符表示,而不是乱码。例如:hexdump -C file.txt
-e
选项:这个选项允许你指定一个转换规则,用于将字节转换为字符。例如,你可以使用以下命令将字节转换为十六进制表示的字符:hexdump -e '1/1 "%.2x " 1/1 "\n"' file.txt
-b
选项:hexdump -b file.bin
这将显示文件中的每个字节作为十六进制数。如果你想要以字符形式显示这些十六进制数,可以结合使用-C
和-b
选项:
hexdump -Cb file.bin
总之,hexdump
显示乱码的原因可能是它默认使用ASCII字符集来显示输出,而你的文件实际上包含非ASCII字符。你可以使用上述方法之一来解决这个问题。