16 進エディタでウェーブ ファイルを開きました。私は 2 つの 16 進エディターを試しましたが、どちらも 44100 を 16 進数 (AC44) に逆順で入れました。
何故ですか?ASCII 文字 "fmt" の場合、順序は自然です。
AC44です。
これは Big-Endian / Little-Endian と関係がありますか? しかし、他の値が正しい順序で表示されるのはなぜでしょうか?
ありがとう!
16 進エディタでウェーブ ファイルを開きました。私は 2 つの 16 進エディターを試しましたが、どちらも 44100 を 16 進数 (AC44) に逆順で入れました。
何故ですか?ASCII 文字 "fmt" の場合、順序は自然です。
AC44です。
これは Big-Endian / Little-Endian と関係がありますか? しかし、他の値が正しい順序で表示されるのはなぜでしょうか?
ありがとう!
それはエンディアンネスと関係があります。書き込み先のデータ型は、複数バイトのチャンクとして格納される整数です。
テキスト アトムが反転していないように見える理由は、それらが 1 バイト文字の順序付きリストであるためです。
実際には、アーキテクチャやファイル形式に依存します。たとえば、こちらを参照してください。上位バイトが最初に来るケースと、下位バイトが最初に来るケースの両方を見つけることができます。あなたの場合、それは最初のものです(リッテエンディアンと呼ばれます)。
16 進エディタは下位アドレスから上位アドレスまで 16 進バイトを出力し、リトル エンディアン (x86/ia32 など) マシンはマルチバイト エンティティの下位桁を下位アドレスに格納するためです。
逆の順序でバイトを表示したい場合は、メモリを上位アドレスから下位アドレス (ただし、左から右) に出力できます。これは、英語圏の国では通常、数値がそのように出力されるためです。