C# Reading from and writing to byte array
Byte[] ByteName = new Byte[101]; // Declare bytearray
Buffer.BlockCopy(bytes, 0, ByteName, 0, 101); // Copy part of byte array (bytes) to ByteName
string Name = Encoding.UTF8.GetString(ByteName).TrimEnd('\0'); // Convert to string, and trim
bytes[100] // UInt8 on location 100
BitConverter.ToUInt16(bytes, 101); // UInt16 on location 101 (has length 2 bytes)
BitConverter.ToUInt32(bytes, 103); // UInt32 on location 103 (has length 4 bytes)
BitConverter.ToUInt32(bytes, 107); // UInt64 on location 107 (has length 8 bytes)
string name = "text" + char.MinValue; // Null terminate string
BitConverter.GetBytes(bool); // Get bytes from value
Encoding.ASCII.GetBytes(string)