Exemple #1
0
        public static void WriteString(BinaryWriter writer, string text, int lengthbits)
        {
            if (lengthbits == 8)
            {
                writer.Write((byte)text.Length);
            }
            else if (lengthbits == 16)
            {
                writer.Write((ushort)text.Length);
            }
            else
            {
                throw new ArgumentException("Invalid lengthbits, must be 8 or 16.");
            }

            if (TextEncoding.FitsInASCIIEncoding(text))
            {
                writer.Write((byte)0);
                writer.Write(ConversionHelper.GetBytes(text));
            }
            else
            {
                writer.Write((byte)1);
                writer.Write(Encoding.Unicode.GetBytes(text));
            }
        }
Exemple #2
0
 public static int GetStringDataLength(string text)
 {
     if (TextEncoding.FitsInASCIIEncoding(text))
     {
         return(text.Length + 3);
     }
     else
     {
         return(text.Length * 2 + 3);
     }
 }
Exemple #3
0
 public static int GetStringDataLength(string text)
 {
     checked
     {
         int result;
         if (TextEncoding.FitsInASCIIEncoding(text))
         {
             result = Encoding.ASCII.GetByteCount(text) + 3;
         }
         else
         {
             result = text.Length * 2 + 3;
         }
         return(result);
     }
 }