public string ReadStringSmart()
{
StringBuilder res = new StringBuilder();
while (true)
{
if (res.Length > 100) return "";
string part = _encoding.GetString(ReadInternal(1));
if (part == "\0")
return res.ToString();
else res.Append(part);
}
}