Как читать короткие строки в памяти?
Привет я пытаюсь прочитать заголовок 2 байта в шестнадцатеричном формате вот так
52 01
но
MemoryStream
просто разрешите только ReadByte ().
это мой код
ushort size = BitConverter.ToUInt16(new byte[] { (byte)ReceiveStream.ReadByte(), (byte)ReceiveStream.ReadByte() }, 0); ReceiveStream.Position -= 2; while (size > 0 && size <= (ReceiveStream.Length - ReceiveStream.Position)) { //Log.Debug("Read: " + size + "-byte packet."); // Read Packet Data including length byte[] data = new byte[size]; ReceiveStream.Read(data, 0, size); // Process packet. MemoryStream stream = new MemoryStream(data, 2, data.Length - 2, false); int opcode = stream.ReadByte();//TODO i want to read 2 bytes //other code call the opcode value }
это моя проблема:
int opcode = stream.ReadByte();
значение кода операции должно быть "152", как и значение заголовка, которое я дал. Но мой код просто читал только "52".
Мне нужна помощь xD
Что я уже пробовал:
ushort size = BitConverter.ToUInt16(new byte[] { (byte)ReceiveStream.ReadByte(), (byte)ReceiveStream.ReadByte() }, 0); ReceiveStream.Position -= 2; while (size > 0 && size <= (ReceiveStream.Length - ReceiveStream.Position)) { //Log.Debug("Read: " + size + "-byte packet."); // Read Packet Data including length byte[] data = new byte[size]; ReceiveStream.Read(data, 0, size); // Process packet. MemoryStream stream = new MemoryStream(data, 2, data.Length - 2, false); int opcode = stream.ReadByte();//TODO i want to read 2 bytes //other code call the opcode value }