GNU/Linux >> Linux の 問題 >  >> Linux

非ネイティブのエンディアンを処理する hexdump のようなユーティリティはありますか?

少なくとも 16 ビット ワードの場合、dd conv=swab を介してパイプできます。 のように、

cat file.dat | dd conv=swab | od -t x2

<ブロック引用>

非ネイティブなエンディアンを処理する hexdump のようなユーティリティはありますか?

はい、このユーティリティは Perl と呼ばれます。

実際には Data::HexDumper - 自分で作成することもできます.

number_format
A string specifying how to format the data. It can be any of the following,
which you will notice have the same meanings as they do to perl's pack function:

C        - unsigned char
S        - unsigned 16-bit, native endianness
v or S<  - unsigned 16-bit, little-endian
n or S>  - unsigned 16-bit, big-endian
L        - unsigned 32-bit, native endianness
V or L<  - unsigned 32-bit, little-endian
N or L>  - unsigned 32-bit, big-endian
Q        - unsigned 64-bit, native endianness
Q<       - unsigned 64-bit, little-endian
Q>       - unsigned 64-bit, big-endian

pixelbeat が示唆するように、objcopy を使用できます:

$ objcopy -I binary -O binary --reverse-bytes=num inputfile.bin outputfile.bin

どこで num 16 ビット ワードの場合は 2、32 ビット ワードの場合は 4、64 ビット ワードの場合は 8 です。

残念ながら、objcopy には stdin からの入力を受け入れるオプションがありません。 または出力を stdout に書き込みます であるため、パイプとして使用するには、一時ファイルを作成するラッパー スクリプトを作成する必要があります。

この回答は、https://stackoverflow.com/a/19288235/1979048 および https://serverfault.com/a/329207/157443 からコピーされています。


Linux
  1. 30年後のテクノロジーはどのようになるでしょうか?

  2. MacOSのように見えるトップ5のベストLinuxディストリビューション

  3. Wgetが使用するリスト内のファイルの名前を具体的に変更するにはどうすればよいですか?

  1. UTF8 から ISO-8859-1 に変換する方法はありますか?

  2. ユーザー空間の別の場所 (mount --bind など) にディレクトリをバインドできる Linux vfs ツールはありますか?

  3. 非 SUSE ディストリビューション用の YaST のようなもの

  1. Linux –キーボードのクリック音を生成するものはありますか?

  2. Linux – LinuxはUnixライクではなく、Unixになりますか?

  3. UNIX 認定の Linux ディストリビューションはありますか?