- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个文件 output.log,它有一个空格列表,' ',分隔的整数范围从 [-2048,2048]。我正在尝试使用 xxd 将其转换为二进制文件。我正在使用命令,
xxd -r -p output.log > output.bin
但是,当我用 xxd 读回文件时,我丢失了所有符号 (-) 并收到了一些大于 2048 的值。有没有更好的方法来做到这一点?谢谢。
编辑:使用示例数据...
$ cat test
4 0 -3 -2 -1 200
$ xxd -r -p test > test.bin
$ xxd test.bin
0000000: 4012 00 @..
也许我误解了 xxd 在做什么,我希望在最后一个命令后看到的是看到我的原始输入数据被显示回来。这不对吗?
对于更大的数据集,我会时不时地看到正确的值出现,但输出中仍然存在大量噪音。
最佳答案
您的输入源文件中可能有一些奇怪的字符,xxd
可以很好地处理数字。尝试使用八进制转储 od -c input
查看您的数据以查找任何奇怪的东西。
$ echo '-3000 -2048 -1 0 1 2048 3000' > foo.input
$ cat foo.input
-3000 -2048 -1 0 1 2048 3000
$ xxd foo.input > foo.hex
$ cat foo.hex
0000000: 2d33 3030 3020 2d32 3034 3820 2d31 2030 -3000 -2048 -1 0
0000010: 2031 2032 3034 3820 3330 3030 0a 1 2048 3000.
$ xxd -r foo.hex > foo.output
$ cat foo.output
-3000 -2048 -1 0 1 2048 3000
关于linux - 使用 xxd 将整数转换为二进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37635440/
有人可以针对此错误提出解决方法吗: cat /bin/ls |xxd -g 1 -i | xxd -r xxd: sorry, cannot seek backwards. 但如果你这样做: cat
上面的输出格式是否符合 xxd 的预期格式,或者右侧出现的奇怪字符是否表明我做错了什么? 我正在尝试序列化一个简单的链表,这就是我得到的输出。未能从序列化中删除标志性字符“\0”会导致错误吗? 最佳答
使用命令: xxd -b some_text 将输出二进制表示和原始文本: 000054c: 11101111 10100001 10110110 00010000 01011011 10000110
我在通过 xxd 从标准输入收集数据时遇到问题。这是命令: xxd -r -p | dd of=/home/user/test/hex.bin obs=16 当我在 shell 中执行此命令时,它会等
我正在尝试获取输入的字符串的一部分,但没有显示任何内容。我正在输入 xxd -b ./string "carlo"字符串文件是: string="$1" 最佳答案 我建议阅读 xxd 手册页以帮助您了
我有一个文件 output.log,它有一个空格列表,' ',分隔的整数范围从 [-2048,2048]。我正在尝试使用 xxd 将其转换为二进制文件。我正在使用命令, xxd -r -p outpu
创建一个名为 test 的文件,其中包含以下内容: 0123456789abcdef0123456789abcdef 我想使用 xxd 删除第一个 0。用 vim -b test 打开它,然后在 vi
我知道如何将十六进制转储转换为 ASCII。 echo 54 58 72 56 etc | xxd -r -p -> 将产生 ASCII 输出 但我正在努力将以下二进制代码转换为 ASCII。 010
使用 cat 创建示例文件。 cat > /tmp/test.txt X1 > X22 > X333 > X4444 > EOF 检查示例文件中的内容。 cat /tmp/test.txt X1
使用 cat 创建示例文件。 cat > /tmp/test.txt X1 > X22 > X333 > X4444 > EOF 检查示例文件中的内容。 cat /tmp/test.txt X1
我需要使用基于 xxd 的脚本,但它没有安装在我的 Fedora 21 上: $ xxd bash: xxd: command not found 所以我尝试搜索并安装它但没有成功: $ yum in
我试图了解 ID3 标签的工作原理,因此,在阅读了一些文档后,我开始查看一些 mp3 的原始数据。 Vim 通常是我选择的编辑器,因此,经过一番谷歌搜索后,我发现我可以使用 xxd 通过调用 来查看文
已结束。此问题正在寻求书籍、工具、软件库等的推荐。它不满足Stack Overflow guidelines 。目前不接受答案。 我们不允许提出寻求书籍、工具、软件库等推荐的问题。您可以编辑问题,以便
我正在尝试创建像 xxd 这样的十六进制转储,但我正在尝试解决一些差异。目前,程序每行处理 10 个字符(如最右列所示),而 xxd 中每行处理 16 个字符。它还每列仅显示 1 个八位位组,而不是成
我试图在 xxd 转储中找到一行代码。如果我用 gdb 打开可执行文件并在代码行添加断点,它会显示类似 0x8212224 的地址,但我的 xxd 转储仅达到 0x3040080。 有没有办法将 gd
我试图在二进制文件中找到一个调用函数,所以我尝试了这个: 编译我的代码(用 C 语言), 使用命令:mips-mti-linux-gnu-objdump -d myapp.elf> objdump.t
我有一个 rc 目录,我想在该目录中递归运行 xxd -i filename。并将生成的文件添加到我的项目中。 我正在检查一些 answer在 lua 上。我以类似的方式做到了。 SET(RESOUR
我有一个问题,我知道可以执行 XXD -u file | grep“ABCD”但是可以执行 XXD -u 目录吗?然后grep“ABCD”? 最佳答案 #!/bin/bash FILES=/FILEP
我正在尝试编写一个简单的程序来从文件中生成十六进制输出。这是我的 two.c 文件: #include int main(void) { printf("%s\n", "Hello");
在 Linux bash shell 中,我使用以下命令将普通的十六进制转储转换为二进制 $ echo "8cd59ef53c9aaa68311b73767e0975e7" | xxd -r -p >
我是一名优秀的程序员,十分优秀!