2007年05月23日

ISO9660 その4 数値の表記

ISO9660 ではシステムの違いによって、2、4バイトの数値がリトルエンディアン、ビッグエンディアンのどちらにも対応できるよう、両方書いてある箇所が多くあります。それは、リトルエンディアンの値を先に、ビッグエンディアンの値を後に続けます。

例えば、2 バイトの数値(short、unsigned short)の数値
4660 = 0x1234
の場合、4 バイト使用して、
0x34 0x12 0x12 0x34
の順で記録されます。

例えば、4 バイトの数値(long、unsigned long)の数値
305419896 = 0x12345678
の場合、8 バイト使用して順に、
0x78 0x56 0x34 0x12 0x12 0x34 0x56 0x78
の順で記録されます。

ただ、このブログでは windows でプログラムを作ることを考えて、公式の表では一つにまとめて書いてあるこれらを分離し、ビッグエンディアンの方に (M) と付けることにします。(M = most significant byte first)
unsigned short
unsigned short (M)
あるいは
unsigned long
unsigned long (M)
です。
また、リトルエンディアンとビッグエンディアンのどちらかをとる場合には (L/M) を付けます。
unsigned short (L/M)
あるいは
unsigned long (L/M)
です。

なお、8 バイトの数値はありません。
posted by 七癖 at 10:45| Comment(0) | TrackBack(0) | ファイルシステム | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。