标签: hexdump

使用linux命令将十六进制信息转换为二进制

我的linux系统上有这个二进制文件..

 udit@udit-Dabba ~ $ cat file.enc
 Salted__s?bO??<0?F???Jw!???]?:`C?LK??l
Run Code Online (Sandbox Code Playgroud)

使用hexdump命令我看到这样的信息..

 udit@udit-Dabba ~ $ hexdump -C file.enc
 00000000  53 61 6c 74 65 64 5f 5f  1b 73 a1 62 4f 15 be f6  |Salted__.s.bO...|
 00000010  3c 30 cc 46 ee 10 13 11  84 bf 4a 77 21 a4 84 99  |<0.F......Jw!...|
 00000020  0e 5d ef 11 18 3a 60 43  a0 4c 4b 1e c8 86 e6 6c  |.]...:`C.LK....l|
 00000030
Run Code Online (Sandbox Code Playgroud)

现在我给了一个其他系统的文件,其内容是这样的..

 53 61 6c 74 65 64 5f 5f  1b 73 …
Run Code Online (Sandbox Code Playgroud)

c command hexdump binaryfiles command-line-arguments

76
推荐指数
1
解决办法
7万
查看次数

在shell脚本中将二进制数据转换为十六进制

感觉有点愚蠢问这个(听起来像基本)但在其他地方找不到答案.我想将二进制数据转换为十六进制,只是,没有花哨的格式和所有.hexdump看起来太聪明了,它对我来说"过度格式化".我想从/ dev/random中取x个字节并将其作为十六进制传递.

我最好只使用标准的linux工具,所以我不需要在每台机器上安装它(有很多)

linux scripting hexdump

49
推荐指数
6
解决办法
7万
查看次数

跳转到vim中的字节地址?

我正在调查一个主要是UTF-8文件,其中有很多长行.但是,文件并不完全是文本文件,还有一些垃圾.为了找到我的兴趣点,我正在使用hdgrep.

所以在某些时候我知道它对例如0000301a感兴趣,所以我想在Vim中快速打开文件并跳转到那个位置.

示例(实际上是一个很小的文件,这里的位置是0000001c):

me@here:~$ hd file | grep -C 10 \ 00\ 
00000000  6c 69 6e 65 31 0a 6c 69  6e 65 32 0a 6c 69 6e 65  |line1.line2.line|
00000010  33 0a 6c 69 6e 65 34 0a  6c 69 6e 65 00 35 0a 6c  |3.line4.line.5.l|
00000020  69 6e 65 36 0a 6c 69 6e  65 37 0a 6c 69 6e 65 38  |ine6.line7.line8|
00000030  0a 6c 69 6e 65 39 0a 6c  69 …
Run Code Online (Sandbox Code Playgroud)

binary vim hexdump

37
推荐指数
2
解决办法
1万
查看次数

hexdump混乱

我正在使用unix hexdump实用程序.我的输入文件是UTF-8编码的,包含一个单字符ñ,它是C3 B1十六进制的UTF-8.

hexdump test.txt
0000000 b1c3
0000002
Run Code Online (Sandbox Code Playgroud)

咦?这表明B1 C3- 与我的预期相反!谁能解释一下?

为了获得预期的输出,我做了:

hexdump -C test.txt
00000000  c3 b1                                             |..|
00000002
Run Code Online (Sandbox Code Playgroud)

我以为我理解编码系统..

hexdump

33
推荐指数
1
解决办法
1万
查看次数

如何获取结构数据的hexdump

 ....
 finalize(char *hdrs, sendip_data *headers[], int index,
                    sendip_data *data, sendip_data *pack)
 {

 ........
Run Code Online (Sandbox Code Playgroud)

出于调试目的,我想要一个datapack类型的十六进制转储,它们是sendip_data一种非常复杂的结构.实际上它们包含一些二进制信息,所以我不确定我的项目的输出是否正确.因此,出于调试目的,我想将数据写入文件,以便我可以使用hexdump,如下所示 -

$hexdump -C file.txt
Run Code Online (Sandbox Code Playgroud)

另外因为这是一个/ w数据包的运行时生成所以我也不确定我认为需要的长度datapack结构fread / fwrite.所以请给我一些建议.

c pointers hexdump fwrite binary-data

31
推荐指数
2
解决办法
5万
查看次数

使用hexdump仅输出ASCII

我正在尝试输出与某些二进制数据相对应的ASCII值.我已成功应用该hexdump实用程序并排输出hexdump和ASCII,如下所示:

00000120  20 20 20 20 3d 20 30 78  30 30 30 30 30 30 33 30  |    = 0x00000030|
00000130  0a 01 00 00 00 23 00 00  00 75 75 69 64 30 20 20  |.....#...uuid0  |
00000140  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 3d  |               =|
00000150  20 30 78 39 30 38 32 61  63 35 61 0a 01 00 00 00  | 0x9082ac5a.....| …
Run Code Online (Sandbox Code Playgroud)

linux command-line hexdump

23
推荐指数
3
解决办法
4万
查看次数

如何只打印hexdump中没有行号或ASCII表的十六进制值?

在UNIX shell脚本中将以下内容转换为十六进制

我试图只打印hex valuesfrom hexdump,即不打印行号和ASCII表.

但是以下命令行不会打印任何内容:

hexdump -n 50 -Cs 10 file.bin |  awk '{for(i=NF-17; i>2; --i) print $i}'
Run Code Online (Sandbox Code Playgroud)

linux bash shell hexdump

22
推荐指数
3
解决办法
5万
查看次数

现有的C++ Hex Dump Code

我使用网络和串行通信软件工作很多,因此我经常需要使用代码来显示或记录数据包的十六进制转储.

每次我这样做,我都会从头开始编写另一个hex-dump例程.我将要再次这样做,但我想在这里问:那里有什么好的C++自由十六进制转储代码吗?

我想要的功能:

  • 每行N个字节(其中N以某种方式可配置)
  • 十六进制旁边的可选ASCII/UTF8转储
  • 可配置的缩进,每行前缀,每行后缀等.
  • 最小的依赖关系(理想情况下,我希望所有代码都在头文件中,或者是我可以粘贴的代码片段)

编辑: 澄清:我正在寻找可以轻松插入我自己的程序的代码,以写入stderr,stdout,日志文件或其他此类输出流.我不是在寻找命令行十六进制转储实用程序.

c++ logging hex hexdump

16
推荐指数
2
解决办法
2万
查看次数

在bash中创建二进制文件

如何在bash中创建具有后续二进制值的二进制文件?

喜欢:

$ hexdump testfile
0000000 0100 0302 0504 0706 0908 0b0a 0d0c 0f0e
0000010 1110 1312 1514 1716 1918 1b1a 1d1c 1f1e
0000020 2120 2322 2524 2726 2928 2b2a 2d2c 2f2e
0000030 ....
Run Code Online (Sandbox Code Playgroud)

在C中,我做:

fd = open("testfile", O_RDWR | O_CREAT);
for (i=0; i< CONTENT_SIZE; i++)
{
    testBufOut[i] = i;
}

num_bytes_written = write(fd, testBufOut, CONTENT_SIZE);
close (fd);
Run Code Online (Sandbox Code Playgroud)

这就是我想要的:

#! /bin/bash
i=0
while [ $i -lt 256 ]; do
    h=$(printf "%.2X\n" $i)
    echo "$h"| xxd -r -p
    i=$((i-1))
done
Run Code Online (Sandbox Code Playgroud)

bash hexdump binaryfiles

12
推荐指数
2
解决办法
3万
查看次数

在Elixir中将二进制字符串转换为十六进制,反之亦然

如何在Elixir中将二进制字符串转换为十六进制字符串,反之亦然?

对于其他"主流"语言,关于此主题,有一些关于SO的帖子.甚至还有一篇SO帖子对各种C#实现进行了基准测试

我们如何在长生不老药中做到这一点?

我的实施太难看了,不能分享...... :(

string binary hexdump elixir

11
推荐指数
2
解决办法
6427
查看次数