用vi编辑hex文件用了:%!xxd :%!xxd -r :wq 后文件有变化
大家可以试一试: 找一个乱码文件(我用了tcpdump的保存文件*.pcap), 用vi打开, :%!xxd转换到hex格式, 吗也别动, :%!xxd -r转换回去,:wq 保存, 然后和源文件对比, 发现少了几个字节. (我的表现是tcpdump读包时显示*.pcap不完整.)我仔细的查了一下变化, 是在 :wq这一布, vi自动的把乱码文件(hex)做了改动,
不知道这个问题怎么处理,
khexedit很好用, 但我还是想让vi支持hex的编辑...很多教程说:%!xxd :%!xxd -r :wq 可以, 但是一:wq, hex文件就少些不该少的东西, 是不是和编码有关??
我改了编码, 问题依旧,,
想请教各位大侠, 这个问题如何处理??
[ 本帖最后由 sinanjj 于 2008-4-10 22:51 编辑 ] vi保存的时候会加上文末符0a也就是\n,和xxd没有关系。
你可以这样实验:
echo -n a >test
xxd test
vi test然后:wq保存,然后在xxd test看一下,就会多出一个0a。
那该怎么去掉这个0a啊???
用vi编辑一个hex文件总不能多0a吧....该怎么去掉这个0a啊???
walkerxk 大侠???只好用khexediter了...
我查了很久, 没有好的方法... 呵呵,告诉你个好方法,运行VI的时候加”-b“参数,然后保存时就不会再添加0a了vim -b test
:%xxd
:%xxd -r
页:
[1]