////String, prepend length public static void Write(string data, byte[] memoryStream, int startPosition) { int stringCount = data.Length; ushort lengthPrefix = (ushort)(2 * stringCount); UInt16ToBytes convert = new UInt16ToBytes(); convert.value = lengthPrefix; memoryStream[startPosition] = convert.byte0; memoryStream[startPosition + 1] = convert.byte1; int offset = startPosition + 4; for (int i = 0; i < stringCount; i++) { char c = data[i]; CharToBytes charConvert = new CharToBytes(); charConvert.value = c; memoryStream[offset] = charConvert.byte0; offset++; memoryStream[offset] = charConvert.byte1; offset++; } }
public static void Write(ushort data, byte[] memoryStream, int startPosition) { UInt16ToBytes convert = new UInt16ToBytes(); convert.value = data; memoryStream[startPosition] = convert.byte0; memoryStream[startPosition + 1] = convert.byte1; }