この質問は、この質問に対するenzotibの回答に関連しています。バイナリファイルで2バイトを見つけて値を増やし、Bashを使って置き換える方法は?
これは2バイトを16進値に変換します。
$ echo -n $'\x1b\x1f' | od -tx2
0000000 1f1b
0000002
ただし、これは10進値を提供する必要があります。
echo -n $'\x1b\x1f' | od -tu2
0000000 7963
0000002
ただし、16進値を10進数に変換すると、次のようになります。
$ printf "%d" 0x1b1f
6943
なぜそんなことですか?od
間違った10進数出力を使用していますか?
答え1
あなたは走ってod
いますリトルエンディアン方式マシン。
>>> 0x1f1b
7963