linux下如何使用命令行将字符串转换为二进制整数文件
我想要的是获取一个表示为字符串的整数,例如“1234”,并将其转换为名为 int 的文件,其中包含一个 32 位大端整数,值为 1234。
我想出的唯一方法这样做有点
echo 1234 | awk '{printf "0: %08X", $1}' | xxd -r > int
令人讨厌!
有谁知道更好的方法吗?
What i want is to take an integer represented as a string, for example "1234", and convert it to a file called int, containing a 32-bit big endian integer, with the value 1234.
The only way I have figured out to do this is something like
echo 1234 | awk '{printf "0: %08X", $1}' | xxd -r > int
which is a bit nasty!
Does anyone know a better way?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
稍微简单一点的方法是:
A slightly simpler way would be:
好吧,看到马克·威廉姆斯似乎擅离职守,我将发布他答案的更正版本
ok well seeing that mark williams seems to have gone awol i will post the corrected version of his answer
这似乎在我的系统上产生相同的输出。 请务必检查
perldoc -f pack
。回显'1234' | perl -e '打印包("nn", 0,);' > 整数
this appears to produce the same output on my system. be sure to check
perldoc -f pack
.echo '1234' | perl -e 'print pack("nn", 0,<STDIN>);' > int