linux 字符转二进制文件,linux中的xxd命令可以实现二进制文件到16进制字符的转换...

刚才玩代码, 遇到这样一个情况: 程序中有一段buffer(可以认为里面是一串二进制流哈), 我想看这些二进制对应的值, 当时想写个程序, 于是写了一下, 发现居然还写得不对, 我嘞个去, 能用linux命令就搞定的东西, 还是省省吧。 可以把这段二进制保存在文件中, 然后用xxd来玩, 如下:

[taoge@localhost test]$ vim test.c^C

[taoge@localhost test]$ ^C

[taoge@localhost test]$ cat test.c

#include

int main()

{

char buf[100] = ".s.a";

FILE *fp = fopen("haha", "w");

fwrite(buf, sizeof(buf), 1, fp);

fclose(fp);

return 0;

}

[taoge@localhost test]$ ./a.out

[taoge@localhost test]$ xxd haha

0000000: 2e73 2e61 0000 0000 0000 0000 0000 0000 .s.a............

0000010: 0000 0000 0000 0000 0000 0000 0000 0000 ................

0000020: 0000 0000 0000 0000 0000 0000 0000 0000 ................

0000030: 0000 0000 0000 0000 0000 0000 0000 0000 ................

0000040: 0000 0000 0000 0000 0000 0000 0000 0000 ................

0000050: 0000 0000 0000 0000 0000 0000 0000 0000 ................

0000060: 0000 0000 ....

[taoge@localhost test]$       OK,  以后遇到二进制文件, 或者一段未知buffer, 就可以这么搞, 省时省力。 当然, 还有很多工具是可以读取对应的字符的, 比如Beyond Compare。

总之一句话, 要把工具充分用起来, 比如linux中的linux命令。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值