5

16 進エディタでウェーブ ファイルを開きました。私は 2 つの 16 進エディターを試しましたが、どちらも 44100 を 16 進数 (AC44) に逆順で入れました。

何故ですか?ASCII 文字 "fmt" の場合、順序は自然です。

ここに画像の説明を入力

AC44です。

ここに画像の説明を入力

これは Big-Endian / Little-Endian と関係がありますか? しかし、他の値が正しい順序で表示されるのはなぜでしょうか?

ありがとう!

4

4 に答える 4

6

はい、リトル エンディアン形式で保存されます。各フィールドのエンディアンは次のとおりです。

WAV形式

ビッグ エンディアンとリトル エンディアンが混在していることに注意してください。

于 2011-11-01T20:47:00.003 に答える
2

それはエンディアンネスと関係があります。書き込み先のデータ型は、複数バイトのチャンクとして格納される整数です。

テキスト アトムが反転していないように見える理由は、それらが 1 バイト文字の順序付きリストであるためです。

于 2011-11-01T20:50:20.037 に答える
1

実際には、アーキテクチャやファイル形式に依存します。たとえば、こちらを参照してください。上位バイトが最初に来るケースと、下位バイトが最初に来るケースの両方を見つけることができます。あなたの場合、それは最初のものです(リッテエンディアンと呼ばれます)。

于 2011-11-01T20:47:23.597 に答える
1

16 進エディタは下位アドレスから上位アドレスまで 16 進バイトを出力し、リトル エンディアン (x86/ia32 など) マシンはマルチバイト エンティティの下位桁を下位アドレスに格納するためです。

逆の順序でバイトを表示したい場合は、メモリを上位アドレスから下位アドレス (ただし、左から右) に出力できます。これは、英語圏の国では通常、数値がそのように出力されるためです。

于 2011-11-02T02:42:10.567 に答える