예제 #1
0
        public string ReadString(int length)
        {
            int offset = _offset;

            this._offset += length;
            return(EncodingConverter.GetString(_buffer, offset, length));
        }
예제 #2
0
        public string ReadLenString()
        {
            int offset = this._offset;
            int lenStr = ReadInt32();

            this._offset += lenStr;
            return(EncodingConverter.GetString(_buffer, offset + 4, lenStr));
        }
예제 #3
0
        /// <summary>
        /// 一次性读完包的字符串
        /// </summary>
        /// <returns></returns>
        public string ReadString()
        {
            int len = _dataCount - _offset;
            //string value = BitConverter.ToString(_buffer, _offset, len);//16进制标识的字符串
            string value = EncodingConverter.GetString(_buffer, _offset, len);

            _offset = Interlocked.Add(ref _offset, len);
            return(value);
        }
예제 #4
0
        public string ReadString0()
        {
            int offset = this._offset;

            try
            {
                while (_buffer[_offset++] != 0)
                {
                }
            }
            catch {
                _offset = _buffer.Length;
            }
            return(EncodingConverter.GetString(_buffer, offset, this._offset - offset - 1));
        }