public string GetEscapedString(int offset, int length) { char[] chars = GetCharBuffer(length); int charCount = GetEscapedChars(offset, length, chars); return new string(chars, 0, charCount); }
public byte[] GetString(out int offset, out int length) { StringHandleType type = _type; if (type == StringHandleType.UTF8) { offset = _offset; length = _length; return(_bufferReader.Buffer); } if (type == StringHandleType.Dictionary) { byte[] buffer = _bufferReader.GetDictionaryString(_key).ToUTF8(); offset = 0; length = buffer.Length; return(buffer); } if (type == StringHandleType.ConstString) { byte[] buffer = XmlConverter.ToBytes(s_constStrings[_key]); offset = 0; length = buffer.Length; return(buffer); } else { DiagnosticUtility.DebugAssert(type == StringHandleType.EscapedUTF8, ""); byte[] buffer = XmlConverter.ToBytes(_bufferReader.GetEscapedString(_offset, _length)); offset = 0; length = buffer.Length; return(buffer); } }