private static string LimitByteLength(string input, int maxLength) { for (int i = input.Length - 1; i >= 0; i--) { if (Encoding.UTF8.GetByteCount(input.Substring(0, i + 1)) <= maxLength) { return input.Substring(0, i + 1); } } return string.Empty; }