public void WriteString(string value, int rawLength)
{
byte[] data = encoding.GetBytes(value);
byte[] finalData = new byte[rawLength];
Array.Copy(data, finalData, Math.Min(data.Length, finalData.Length));
foreach (byte b in finalData)
WriteByte(b);
}