我希望能够将一个以字符串表示的整数,例如“1234”,转换为一个名为int的文件,其中包含一个32位大端整数,其值为1234。
我想到的唯一方法是类似于:
我想到的唯一方法是类似于:
echo 1234 | awk '{printf "0: %08X", $1}' | xxd -r > int
这有点不好!
有人知道更好的方法吗?
printf "0: %08X" 1234 | xxd -r > int
好的,既然Mark Williams似乎失踪了,我将发布他回答的更正版。
echo 1234 | perl -e 'print pack("N", <STDIN>); > int
在我的系统上,这似乎会产生相同的输出。请务必检查perldoc -f pack
。
echo '1234' | perl -e 'print pack("nn", 0,<STDIN>);' > int