gpt4 book ai didi

vim - 为什么在 Vim 中查看 hex 与 hexdump 结果不同?

转载 作者:行者123 更新时间:2023-12-05 07:50:22 25 4
gpt4 key购买 nike

我有一个十六进制文件,想检查它的内容。当我使用 hexdump 时,它看起来像这样:

tomxue@tom-Hasee:~/workspace$ hexdump spi.pcm | head
0000000 fedf fef4 fed9 fed4 ff10 fe99 fffe ffcd
0000010 ff3a ff39 ff54 fe5b fe80 ff0a 0004 ffd3
0000020 feaa ff11 feb2 fef6 fea8 fec2 0004 ffd1
0000030 ff1b fe9b fed6 fe4e fe46 fe9b fffc ffcf
0000040 ff26 fe95 feb4 fde5 fe69 fe95 ffff ffd0
0000050 fede ff73 fea2 fe36 fe7f fe99 0001 ffd5
0000060 ff98 ff08 ff05 feff fe90 ff1a fffe ffd2
0000070 ff48 ff07 ff39 fed6 fee1 fee9 fff7 ffd2
0000080 ffa6 ff93 ffbb ff29 ffa4 ffaf 0002 ffd1
0000090 0014 ffff fff4 0037 ffd2 ffcb 0007 ffd0

但是在 vim 中使用命令 :%!xxd,它看起来像这样:

  0000000: 3f3f 3f3f 3f3f 3f3f 103f 3f3f 3f3f 3f3f  ????????.???????
2 0000010: 3a3f 393f 543f 5b3f 3f3f 0a3f 0400 3f3f :?9?T?[???.?..??
3 0000020: 3f3f 113f 3f3f 3f3f 3f3f 3f3f 0400 3f3f ??.?????????..??
4 0000030: 1b3f 3f3f 3f3f 4e3f 463f 3f3f 3f3f 3f3f .?????N?F???????
5 0000040: 263f 3f3f 3f3f 3f3f 693f 3f3f 3f3f 3f3f &???????i???????
6 0000050: 3f3f 733f 3f3f 363f 7f3f 3f3f 0100 3f3f ??s???6?.???..??

为什么?据我所知,hexdump 结果应该是正确的,为什么 vim 结果是这样的?

更多:下面的命令给出了与 hexdump one 相同的结果,而在 vim 中执行的 xxd 将得到不同的结果。怎么了?

tomxue@tom-Hasee:~/workspace$ xxd spi.pcm | head
0000000: dffe f4fe d9fe d4fe 10ff 99fe feff cdff ................
0000010: 3aff 39ff 54ff 5bfe 80fe 0aff 0400 d3ff :.9.T.[.........
0000020: aafe 11ff b2fe f6fe a8fe c2fe 0400 d1ff ................
0000030: 1bff 9bfe d6fe 4efe 46fe 9bfe fcff cfff ......N.F.......
0000040: 26ff 95fe b4fe e5fd 69fe 95fe ffff d0ff &.......i.......
0000050: defe 73ff a2fe 36fe 7ffe 99fe 0100 d5ff ..s...6.........
0000060: 98ff 08ff 05ff fffe 90fe 1aff feff d2ff ................
0000070: 48ff 07ff 39ff d6fe e1fe e9fe f7ff d2ff H...9...........
0000080: a6ff 93ff bbff 29ff a4ff afff 0200 d1ff ......).........
0000090: 1400 ffff f4ff 3700 d2ff cbff 0700 d0ff ......7.........

tomxue@tom-Hasee:~/workspace$ od -x spi.pcm | head
0000000 fedf fef4 fed9 fed4 ff10 fe99 fffe ffcd
0000020 ff3a ff39 ff54 fe5b fe80 ff0a 0004 ffd3
0000040 feaa ff11 feb2 fef6 fea8 fec2 0004 ffd1
0000060 ff1b fe9b fed6 fe4e fe46 fe9b fffc ffcf
0000100 ff26 fe95 feb4 fde5 fe69 fe95 ffff ffd0
0000120 fede ff73 fea2 fe36 fe7f fe99 0001 ffd5
0000140 ff98 ff08 ff05 feff fe90 ff1a fffe ffd2
0000160 ff48 ff07 ff39 fed6 fee1 fee9 fff7 ffd2
0000200 ffa6 ff93 ffbb ff29 ffa4 ffaf 0002 ffd1
0000220 0014 ffff fff4 0037 ffd2 ffcb 0007 ffd0

最佳答案

如果你的 .vimrc 文件有这样的配置:

set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936

删除它或删除您的文件编码配置。
因为 vim 会根据设置的顺序猜测打开文件的编码。(也许 vim 不知道原始二进制文件是什么编码)。

关于vim - 为什么在 Vim 中查看 hex 与 hexdump 结果不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36245858/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com