Exemple #1
0
        /// <summary>
        /// Write specific string to specific MemoryStream
        /// </summary>
        /// <param name="Data">MemoryStream to write text to</param>
        /// <param name="Text">Text to write in MemoryStream</param>
        /// <param name="TEncoding">TextEncoding use for text</param>
        /// <param name="AddNullCharacter">indicate if need to add null characters</param>
        protected void WriteText(MemoryStream Data, string Text, TextEncodings TEncoding, bool AddNullCharacter)
        {
            byte[] Buf, BufTemp;

            BufTemp = FileStreamEx.GetEncoding(TEncoding).GetBytes(Text);

            if (TEncoding == TextEncodings.UTF_16)
            {
                Buf    = new byte[BufTemp.Length + 2];
                Buf[0] = 0xFF;
                Buf[1] = 0xFE;
                for (int i = 0; i < BufTemp.Length; i++)
                {
                    Buf[i + 2] = BufTemp[i];
                }
            }
            else if (TEncoding == TextEncodings.UTF_16BE)
            {
                Buf    = new byte[BufTemp.Length + 2];
                Buf[0] = 0xFE;
                Buf[1] = 0xFF;
                for (int i = 0; i < BufTemp.Length; i++)
                {
                    Buf[i + 2] = BufTemp[i];
                }
            }
            else if (TEncoding == TextEncodings.UTF8)
            {
                Buf = new byte[BufTemp.Length + 3];
                // EF BB BF
                Buf[0] = 0xEF;
                Buf[1] = 0xBB;
                Buf[2] = 0xBF;
                for (int i = 0; i < BufTemp.Length; i++)
                {
                    Buf[i + 3] = BufTemp[i];
                }
            }
            else
            {
                Buf = new byte[BufTemp.Length];
                Buf = BufTemp;
            }



            Data.Write(Buf, 0, Buf.Length);
            if (AddNullCharacter)
            {
                Data.WriteByte(0);
                if (TEncoding == TextEncodings.UTF_16 || TEncoding == TextEncodings.UTF_16BE)
                {
                    Data.WriteByte(0);
                }
            }
        }
Exemple #2
0
 /// <summary>
 /// Write specific string to specific MemoryStream
 /// </summary>
 /// <param name="Data">MemoryStream to write text to</param>
 /// <param name="Text">Text to write in MemoryStream</param>
 /// <param name="TEncoding">TextEncoding use for text</param>
 /// <param name="AddNullCharacter">indicate if need to add null characters</param>
 protected void WriteText(MemoryStream Data, string Text, TextEncodings TEncoding, bool AddNullCharacter)
 {
     byte[] Buf;
     Buf = FileStreamEx.GetEncoding(TEncoding).GetBytes(Text);
     Data.Write(Buf, 0, Buf.Length);
     if (AddNullCharacter)
     {
         Data.WriteByte(0);
         if (TEncoding == TextEncodings.UTF_16 || TEncoding == TextEncodings.UTF_16BE)
         {
             Data.WriteByte(0);
         }
     }
 }