Linuxでコマンドラインを使用して文字列をバイナリ整数ファイルに変換する方法

StackOverflow https://stackoverflow.com/questions/422840

  •  05-07-2019
  •  | 
  •  

質問

私が欲しいのは、文字列として表される整数、たとえば<!> quot; 1234 <!> quot;を、32ビットのビッグエンディアン整数を含むintというファイルに変換することです。値1234。

これを行うための唯一の方法は、次のようなものです

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

ちょっと厄介です!

誰かがもっと良い方法を知っていますか?

役に立ちましたか?

解決 2

わかりました、ウィリアムズのマークがうまく行っていないようです。彼の答えの修正版を投稿します

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

他のヒント

もう少し簡単な方法は次のとおりです。

printf "0: %08X" 1234 | xxd -r > int

これは、システム上で同じ出力を生成するようです。必ずperldoc -f packを確認してください。

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top