Unix巫术将文件的二进制内容作为文本获取?

时间:2009-11-25 16:20:58

标签: linux unix command

我正在寻找一种简单的方法将简单的二进制文件转换为其二进制文本表示,其中编码无关紧要。我知道程序化解决方案很简单,但我觉得必须有一些神秘的unix命令来完成这个。

我离开基地吗?有没有比程序化更简单的解决方案?

8 个答案:

答案 0 :(得分:7)

使用od。例如:

$ od -t x1 -An /bin/ls | head
 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
 02 00 3e 00 01 00 00 00 e0 26 40 00 00 00 00 00
 40 00 00 00 00 00 00 00 30 b6 01 00 00 00 00 00
 00 00 00 00 40 00 38 00 09 00 40 00 1d 00 1c 00
 06 00 00 00 05 00 00 00 40 00 00 00 00 00 00 00
 40 00 40 00 00 00 00 00 40 00 40 00 00 00 00 00
 f8 01 00 00 00 00 00 00 f8 01 00 00 00 00 00 00
 08 00 00 00 00 00 00 00 03 00 00 00 04 00 00 00
 38 02 00 00 00 00 00 00 38 02 40 00 00 00 00 00
 38 02 40 00 00 00 00 00 1c 00 00 00 00 00 00 00

答案 1 :(得分:7)

base64 -e filename>xxx

在另一边

base64 -d xxx>filename

答案 2 :(得分:6)

uuencodeuudecode用于将二进制内容作为ASCII字符传输。见the wikipedia entry.

答案 3 :(得分:6)

例如,将二进制文件显示为十六进制代码序列:

od -t x1 file|cut -c8-

答案 4 :(得分:5)

max@upsight:~$ openssl base64 < /dev/urandom | head -10
qnISxigXTjgON+tkSDtRJ6fRNczsejY2bEC5D1W8fscy+6mopiGfVLvZ/bu99SrT
qdTRaeRXO8fgEejXsbTy4XP9MmCbAsBCSEvDpq5bfR/Sd7EjJLUxcRwzEMlhIrYT
m6J+20aR9M4g7pbT+hjjBE/gsHKxFfZQFgxT/tm1pEg6zMvQywjsrc7d+PSJQOHw
vzYXfWkyLO1nJm9g+Pw3rBI/UuV0+lmrIflhlj5CDWuaxDJUXJiWdsD6cGKLclfz
Mlh17mHwteqMLLSrTZ0QA0ygxISqiCf2sDtPgUToM7ZT2EbaNck5auxbhU+7OcxI
vBZRKozRZtfsZA0IUzMlIQmFanBdjOeGepQjgCDruq5hqEbNc1A+HhXqTtAr8Aic
4iNf36xZifDvASYy27hTVrlI/5kTeRZURqquaxHqum15VD5IC3J/sH+AwPpN1/qi
0YM8xt+LliVje7Oo7QiTona+VMjA//a715/0J8yeryLxTLSnT8JsXUpR0CiOgAcH
tQk9nzHCfMmFzb02nrhFJ0MjLCFgNJOiI1vT0AhNnMh449dcIkDDwyMpkRV4KZ1l
CSL+K4vXhMz3LhPKSihKbYLY6aJSnlPe/GiIOfl1g1VlbtoxJ7ZclpcOp4KWSKHV

......等等

答案 5 :(得分:1)

如果您这样做的原因是要查看二进制数据中的字符串,那么就会出现一个名为“strings”的命令,它将为您打印文件中的所有字符串。

答案 6 :(得分:1)

你也可以使用hexdump。查看手册页以获取更多选项

$ hexdump binaryfile

答案 7 :(得分:-1)

是的,你是偏离基础的,这在一般情况下是非常重要的。存在一些商业解决方案,我们使用的是Autonomy Keyview。

我假设您的意思包括(例如)MSOffice和PDF。