/// <summary> /// Reads a value from the packet /// </summary> /// <param name="out_chars">output char array</param> /// <param name="out_charsOffset">output char array offset from which to start writing</param> /// <param name="encoder">encoder to use</param> /// <returns>total number of char elements</returns> public int ReadChars(char[] out_chars, int out_charsOffset, Encoding encoder) { int charC; int byteC; ByteManipulator.ReadChars(Data, CurrentSeek, out_chars, out_charsOffset, encoder, out byteC, out charC); CurrentSeek += byteC; return(charC); }
public void TestCharsReadRedLight() { char[] s = "dngsgnsiongDDDD@@#[ffa ".ToCharArray(); char[] s2 = new char[s.Length]; byte[] arr = new byte[Encoding.UTF8.GetByteCount(s) + sizeof(int)]; ByteManipulator.Write(arr, 0, s, encoder); int n; int n2; ByteManipulator.ReadChars(arr, 0, s2, 0, encoder, out n, out n2); Assert.That(new string(s2), Is.Not.EqualTo("dngsgnsiongDDDD@@#[ffa")); }