C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 22 を表示中)
■9462 / )  Re[1]: 16進数のデータをバイナリデータに書き込む
□投稿者/ mあ@反省中 (1回)-(2007/10/27(Sat) 17:08:39)
No9458 (えふ さん) に返信

BinaryWriter が使えます。

BinaryWriterで、文字列、"1234" を書き込むと、
31 32 33 34
て書き込まれますから。注意して下さい。

0x という接頭辞は、C#/C++/Java/Perl 等、C言語ベースの言語の16進数の表記です。
VB だと、&H ですかね。

"1234" 文字列 は、0x31,0x32,0x33,0x34
Integer(1024) は、0x00,0x04,0x00,0x00
です。
全て文字列で書き込む場合はバイト順は意識する必要ありません。

int q = 0x00000001;
char* p = (char*)&q;
if (p[0]) {
//1バイト型より大きいデータ型のバイト順が逆になる
}
else {
//全データ型のバイト順は書き込まれたまんま
}


がんばって下さい。


# 文字列の "1234" が バイナリファイル上で、
# 12 34 ...
# となるためには、パック10進数について調べて下さい。
# COBOL の COMP3 とかも併せて調べておくと良いかもです。


返信 編集キー/


管理者用

- Child Tree -