Пример #1
0
        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());
        }
Пример #2
0
        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());
        }
Пример #3
0
        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());
        }