3

我想要的是取一个表示为字符串的整数,例如“1234”,并将其转换为一个名为 int 的文件,其中包含一个 32 位大端整数,值为 1234。

我想出这样做的唯一方法是

echo 1234 | awk '{printf "0: %08X", $1}' | xxd -r > int

这有点讨厌!

有谁知道更好的方法?

4

3 回答 3

5

一个稍微简单的方法是:

printf "0: %08X" 1234 | xxd -r > int
于 2009-01-08T01:14:16.687 回答
3

好吧,看到马克威廉姆斯似乎已经离开了,我将发布他的答案的更正版本

echo 1234 | perl -e 'print pack("N", <STDIN>); > int
于 2009-01-12T12:34:49.440 回答
0

这似乎在我的系统上产生相同的输出。一定要检查perldoc -f pack

echo '1234' | perl -e 'print pack("nn", 0,<STDIN>);' > int

于 2009-01-08T01:23:18.773 回答