我的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) 我现在这样做:
[root@~]# echo Aa|hexdump -v
0000000 6141 000a
0000003
[root@~]# echo -e "\x41\x41\x41\x41"
AAAA
Run Code Online (Sandbox Code Playgroud)
但它并不像我想的那样完全表现,
十六进制形式Aa应该是4161,但输出是6141 000a,这似乎没有意义.
当执行十六进制到ascii时,是否有另一个实用程序,所以我不需要前缀\x?
我正在尝试48 65 6c 6c 6f使用命令行尽可能高效地将"Hello"转换为十六进制.
我试过看printf谷歌,但我无法到达任何地方.
任何帮助非常感谢.
提前谢谢了,
我试图只打印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) 我想构建一个可以读取文件的bash程序,比如*.bin并打印所有十六进制数字,就像'hex'编辑那样.哪里可以开始?
我想知道是否有人可以帮助我在bash中将ascii转换为hex.示例代码:
#!/bin/bash
STR = "hello"
#Convert to hex
HEXVAL = $STR #(in hex here?)
Run Code Online (Sandbox Code Playgroud)
我希望hexval具有值:68656C6C6F(十六进制你好)
我有字节数据,
0Y0*†HÎ*†HÎ=B¬`9E>ÞÕ?ÐŽ·‹ñ6ì‰&ÉÐL_cüsyxoú¢
†
(¯-›E–¿9ÐÖ1ªÐ›¯o
Run Code Online (Sandbox Code Playgroud)
现在,我想创建一个Linux脚本,将该数据转换为十六进制字符串.我怎样才能做到这一点?