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(); }