dポイントプレゼントキャンペーン実施中!

先日、LinuxマシンからWindowsマシンにFTPにてファイルを転送してこんなことがありました。
・Linuxマシンから転送してきたファイルを、Windows上のサクラエディタで開く。
ファイル内容を見ると、「#!」とある

・転送したファイルをLinuxマシン上で、バイナリ表示する(odコマンドを使用)
ファイル内容を見ると、「1234 ・・・・・」とある※正しいコードは忘れました。
バイナリコードと文字の対応表?を見ると
12=!
34=#

・サクラエディタで開いたファイル内容は「#!」だが、バイナリコードを見ると「!#」となるはず。

この箇所だけではなく、ファイル内の全てが、2文字ずつ同じようなことがありました。
単純に逆から書かれているわけではないと思うのですが、どういうことなのでしょうか。

A 回答 (2件)

man odを見るとわかりますが、od コマンドは、標準だと、2バイトずつのデータとみなして表示されます。


od -x とかで表示したのだと思いますが、下1バイトが先に来て、その後に上1バイトが来ます。これを2バイトデータとして上位バイトから表示するので、2バイトずつ左右が入れ替わって見えます。

2バイトデータでなく、1バイトデータとして16進表示させるためには、od -tx1 とします。
    • good
    • 0

すでに回答のある通りですが、


http://gnuwin32.sourceforge.net/
の Coreutilsの中に、Windows用に移植された od がありますから、 Windows上でもダンプしてみるといいでしょう。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!