internal static string NormalizeString(string value, int offset, int length) { if (length >= 2 && length <= 32) { int num = MimeData.HashValue(value, offset, length); int num2 = MimeData.valueHashTable[num]; if (num2 > 0) { string value2; for (;;) { value2 = MimeData.values[num2].value; if (length == value2.Length && string.Compare(value2, 0, value, offset, length, StringComparison.OrdinalIgnoreCase) == 0) { break; } num2++; if ((int)MimeData.values[num2].hash != num) { goto IL_5E; } } return(value2); } } IL_5E: return(value.Substring(offset, length).ToLowerInvariant()); }
internal static string NormalizeString(byte[] value, int offset, int length, bool allowUTF8) { if (length >= 2 && length <= 32) { int num = MimeData.HashValue(value, offset, length); int num2 = MimeData.valueHashTable[num]; if (num2 > 0) { string value2; for (;;) { value2 = MimeData.values[num2].value; if (ByteString.EqualsI(value2, value, offset, length, allowUTF8)) { break; } num2++; if ((int)MimeData.values[num2].hash != num) { goto IL_54; } } return(value2); } } IL_54: return(ByteString.BytesToString(value, offset, length, allowUTF8).ToLowerInvariant()); }
internal static string NormalizeString(string value) { if (value.Length >= 2 && value.Length <= 32) { int num = MimeData.HashValue(value); int num2 = MimeData.valueHashTable[num]; if (num2 > 0) { string value2; for (;;) { value2 = MimeData.values[num2].value; if (value.Length == value2.Length && value.Equals(value2, StringComparison.OrdinalIgnoreCase)) { break; } num2++; if ((int)MimeData.values[num2].hash != num) { goto IL_68; } } return(value2); } } IL_68: return(value.ToLowerInvariant()); }