public string ReadUnicodeStringSafe()
{
StringBuilder sb = new StringBuilder();
int c;
while ( (m_Index + 1) < m_Size && (c = ((m_Data[m_Index++] << 8) | m_Data[m_Index++])) != 0 )
{
if ( IsSafeChar( c ) )
sb.Append( (char)c );
}
return sb.ToString();
}