我有文本(字符串)格式的二进制的十六进制代码.如何使用像cat和echo这样的linux命令将其转换为二进制文件?
我知道命令跟随命令创建二进制test.bin.但是如果这个十六进制代码在另一个.txt文件中呢?如何"捕捉"文本文件的内容以"回显"并生成二进制文件?
# echo -e "\x00\x001" > test.bin
我有一个ASCII字符串="abcdefghijk".我想用python将它写成二进制格式的二进制文件.
我试过以下:
str = "abcdefghijk"
fp = file("test.bin", "wb")
hexStr = "".join( (("\\x%s") % (x.encode("hex"))) for x in str)
fp.write(hexStr)
fp.close()
Run Code Online (Sandbox Code Playgroud)
但是,当我打开test.bin时,我看到以ascii格式而不是二进制格式.
\x61\x62\x63\x64\x65\x66\x67
Run Code Online (Sandbox Code Playgroud)
我理解它是因为这里有两个斜杠("\\ x%s").我该如何解决这个问题?提前致谢.
更新:
以下给出了预期的结果:
file = open("test.bin", "wb")
file.write("\x61\x62\x63\x64\x65\x66\x67")
file.close()
Run Code Online (Sandbox Code Playgroud)
但是如何使用"abcdef"ASCII字符串实现此目的.?
是否有任何开源工具将xml架构转换为linux的数据库架构.我需要的是它应该读取xml架构,生成相应的数据库架构并使用它创建表.我试着谷歌,我能找到的只是xsd2db,用c#编写,但对我没用.我正在使用centos,我的数据库是postgresql.任何帮助表示赞赏.提前致谢.
我想配置 qemu 以将特定块设备附加到 VM?
以下是我现在使用的命令:
qemu-system-x86_64 -enable-kvm -machine type=pc,accel=kvm
-cpu host -nographic -k de -usb -m 2048
-net nic -net user,hostfwd=tcp::3388-:22
ubuntu16.04.qcow2
Run Code Online (Sandbox Code Playgroud)
我知道以下是执行此操作的 virsh 命令:
virsh attach-disk ubuntuVM /dev/vdb
Run Code Online (Sandbox Code Playgroud)
但是我想在上面的命令行中指定这个(不想使用virsh)。有谁知道如何做到这一点?
亲切的问候
linux ×2
binary ×1
block-device ×1
command-line ×1
file ×1
fwrite ×1
postgresql ×1
python ×1
qemu ×1
shell ×1
ubuntu-16.04 ×1
unix ×1
xsd ×1