VIM 二进制编辑---删除字节数据

2020-04-13  本文已影响0人  Zokoo

搜索了很多关于vim中使用xxd二进制编辑的文章,有2个问题比较难找到(估计是度娘和必应没用好),耗费半天时间摸索,记录一下:

  1. 在Windows下,由于没有命令行,所以不能用以下大部分文章介绍的方法进行:
vim -b file

从而导致转换成二进制后面多了0x0a的字节。解决该问题的方法是,先打开文件后,通过如下命令设置为二进制文件:

:set bin

再转换,就没有多余的字节了。

  1. 如果直接用以下命令进行转换:
:%!xxd

转换后带有行数和打印字符,这时如果删除头部或中间数据后,再用如下命令转换回来:

:%!xxd -r

这时会发现文件大小并没有改变,被删除的字节自动用0补齐了。如果本意是想删除,那么就不能这么干了。应该用如下办法, 在转换时,转成不带行号和打印字符的方式,习惯16个字节一行,命令:

:%!xxd -p -c16

删除完后,用如下命令转回来:

:%!xxd -r -p

这样就达到效果了。

上一篇 下一篇

猜你喜欢

热点阅读