예제 #1
0
 public void GetString(string[] array, SanitizeType flags = 0)
 {
     for (var i = 0; i < array.Length; i++)
     {
         array[i] = GetString(flags);
     }
 }
예제 #2
0
        public string GetString(SanitizeType flags = 0)
        {
            if (Error || _index >= _endIndex)
            {
                return(string.Empty);
            }

            var startIndex = _index;

            while (_buffer[_index] != 0)
            {
                _index++;
                if (_index > _endIndex)
                {
                    Error = true;
                    return(string.Empty);
                }
            }

            var strUTF8 = Encoding.UTF8.GetString(
                _buffer, startIndex, _index - startIndex);

            _index++;

            if (flags.HasFlag(SanitizeType.Sanitize))
            {
                strUTF8 = strUTF8.Sanitize();
            }
            else if (flags.HasFlag(SanitizeType.SanitizeCC))
            {
                strUTF8 = strUTF8.SanitizeCC();
            }

            return(flags.HasFlag(SanitizeType.SkipStartWhitespaces)
                ? strUTF8.SkipWhitespaces()
                : strUTF8);
        }
예제 #3
0
        public string GetString(SanitizeType flags = 0)
        {
            if (Error || _currentIndex >= _endIndex)
            {
                return("");
            }

            var startIndex = _currentIndex;

            while (_buffer[_currentIndex] != 0)
            {
                _currentIndex++;
                if (_currentIndex > _endIndex)
                {
                    Error = true;
                    return(string.Empty);
                }
            }

            var strUTF8 = Encoding.UTF8.GetString(
                _buffer, startIndex, _currentIndex - startIndex);

            _currentIndex++;

            if (flags.HasFlag(SanitizeType.SANITIZE))
            {
                strUTF8 = strUTF8.Sanitize();
            }
            else if (flags.HasFlag(SanitizeType.SANITIZE_CC))
            {
                strUTF8 = strUTF8.SanitizeCC();
            }

            return(flags.HasFlag(SanitizeType.SKIP_START_WHITESPACES)
                ? strUTF8.TrimStart(' ', '\t', '\n', '\r')
                : strUTF8);
        }