问题标签 [xxd]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
vim - diff - 在十六进制转储中查找两个值之间的特定变化
我正在分析来自我的基本命令行程序的二进制数据转储的十六进制数据。我基本上是将一个结构(实际上是一大堆结构)的确切内容转储到一个文本文件中。
然后,我创建第二个二进制转储,并比较两个文件,vim
以xxd
创建原始数据的二进制到文本表示。
这两个文件的字节大小完全相同,我试图以有意义的方式比较两者。由于其他部分包含散列、基于我更改的值的函数等,即使在我转储文件之前数据的微小变化也会导致文件的其他部分发生很大变化。
是否可以告诉diff
或vimdiff
说,比较两个文件,并只显示文件中原始文件(即:文件 1)中值设置为的部分1
,而在第二个文件中,值设置为32
?
谢谢!
text - 字符 D5 和 E5
我正在处理文本数据。有些词用我不明白的特殊字符包裹。它们的十六进制代码是 D5 和 E5:
xxd data
:
有谁知道这些字符来自什么编码以及它们的含义是什么?
php - 下载证书二进制数据时,结果是无效证书
我在 php 中接收二进制数据作为证书内容,我想将其下载到浏览器。使用证书查看器打开它时,我总是收到此消息:
这个二进制数据是正确的,我立即把它放在服务器上的一个文件中,它制作了一个有效的证书。
我认为问题出在两个地方:
命令的输出
exec('ssh root@192.168.0.137 "echo '.$bindata.' | xxd -p -r | tr -d \'\n\' "',$output);
while$bindata
来自在 bash 中制作证书 pfx 文件后的转换xxd -p
或者它在标题中,有丢失或添加:
怎么了?
python - 二进制中每 2048 个字节删除 64 个字节
我在这里不知所措,这似乎是一个简单的问题,所以我希望有一个简单的答案!
我有一个二进制文件(大约 35m),从偏移量 1536 开始,每 2048 个字节有 64 个字节的填充数据 - 我只想删除这个填充。
第一次出现是 1536,然后是 3648、5760、7872 等
(2112 字节 - 64 字节的虚拟数据 = 2048)
我已经尝试过 bvi、bbe、hexdump+sed+xxd,但我显然遗漏了一些东西。
提前致谢,
linux - 打印出二进制文件内容的 Bash 脚本,一次一个单词,没有 xxd
我想创建一个 BASH 脚本,它逐字读取二进制文件(32 位)并将该字传递给名为 devmem 的应用程序。
现在,我有:
${val} 有一些奇怪的(ASCII?)格式字符表示,看起来像带问号的菱形。
如果我将“val =”行替换为:
我得到了我想要的输出。
使用 BASH 复制 xxd 功能的最简单方法是什么?
注意:我正在开发一个嵌入式 Linux 项目,其中要求不允许我安装 xxd。
这个脚本是性能驱动的,如果我的方法有误,请纠正我,但出于这个原因,我选择了 (dd -> binary word -> devmem) 而不是 (hexdump -> file, parse file -> devmem)。- 不管我的最终目标的最佳路线是什么,这个练习给我带来了一些麻烦,我非常感谢有人帮助我弄清楚如何做到这一点。
谢谢!
c - C语言中如何将字节转换为二进制
我需要将字节转换为二进制,我有几个函数可以输出文件的字节表示。有人知道如何有效地做到这一点吗?我知道几种代码扩展方法,但我很想知道这里的人们提出的想法。
我有这个创建字节转储文件的函数:
由函数 main 测试:
您需要这些头文件来运行它:
要编译这个程序,您需要 gcc 并且必须在命令行中输入输入文件、输出文件、行长和大小:
bash - Bash:获取偏移量的字节长度
我想知道如何从给定偏移量和长度的文件中检索字节。
我来到以下行:hexdump -n 4 -s 0x11C myFile
我得到以下信息:不够好,我不需要偏移量。
000011c 00 00 8c d0
第二次尝试:
hexdump -n 4 -s 0x11C -e '"%x\n"' myFile
我得到以下信息:更好但错误的字节序。
d08c0000
那么我该怎么做呢?我知道我可以用 sed 解析它,但是没有一个“更清洁”的解决方案吗?
bash - awk 和 sed 的新手,我该如何改进呢?多个 sed 和 awk 命令
这是我构建的脚本
它根据作为参数提供的扩展名获取文件列表。
然后它会删除这些文件中模式 00000000: 之前的所有内容。
- 模式 00000000: 前面是 string
<pre>
,然后删除这五个前字符。 - 然后脚本删除文件的最后三行
- 该脚本仅输出文件的 hexdump 数据。
- 脚本运行 xxd 将 hexdump 转换为 file.jpg
它也可以按我的意愿工作,但我怀疑有一些东西可以改进它,但是唉,我是使用 awk 和 sed 的新手。
文件摘录
bash - 将十六进制转换为二进制并通过网络发送
我需要从标准输入读取十六进制数据,将其转换为二进制,使用 发送netcat
,接收回复,转换回十六进制并打印到标准输出。我愿意:
然后以十六进制输入我的数据,然后按 Enter。但是直到我按下它才会发送Ctrl+D
,所以在收到回复后我无法发送另一个数据包。看起来xxd -r -p
不写二进制数据,直到EOF
给出。有没有办法让它在换行符之后写?
c - 以十六进制格式获取文件 - 我的输出与 xxd 命令输出
我正在尝试编写一个简单的程序来从文件生成十六进制输出。这是我的two.c
文件:
以这种方式编译的:
所以我有two
可执行文件。
现在,我编写了一个程序来读取该文件并显示它的二进制(十六进制)输出。这是我的程序:
这是它的巨大输出http://pastebin.com/RVLy6H9B
问题是,当我使用 linux 命令时,xxd two > two.hex
我得到了完全不同的输出(这与格式化无关),并且只有大约 500 行字节,而不是像我的输出那样大约 8k。
xxd 输出: http: //pastebin.com/Gw9wg93g
问题出在哪里?阅读功能有问题fgets(buff, sz, fp);
吗?