2

それにデータを書き込んだりint、データを書き込んだりして、バイトのストリームを構築する必要があります。C#でこれを簡単に実現するにはどうすればよいですか?float変数の生のバイトを取得する方法を知っていますが、C#には、簡単に活用できるバイトストリーム書き込みシステムがすでにありますか?floatdouble

バイト配列からのfloat値の読み取り:

uint floatBytes = .. // read 4 float bytes from byte[] array
float floatVal = *((float*)&floatBytes);

float値をbytearrayに書き込む:

float floatVal = ... // read a float from the float[] array
uint floatBytes = *((uint*)&floatVal);
4

2 に答える 2

4

C#には、簡単に活用できるバイトストリームの書記体系がすでにありますか?

.NETライブラリには、このためのストリームデコレータのペアであるBinaryWriterとBinaryReaderがあります。

var reader = new BinaryReader(someStream);
float f1 = reader.ReadSingle();   // Single == float
double d1 = reader.ReadDouble();
string s1 = reader.ReadString();  // the Writer issues a length-prefix.
于 2012-05-29T11:18:26.273 に答える
1

BinaryReaderBinaryWriterを使用する

于 2012-05-29T11:18:37.073 に答える