public override string ToString()
{
var sb = new StringBuilder(TotalSize);
var total = TotalSize >> BlockShift;
var remaining = TotalSize & BlockAnd;
for (int i = 0; i < total; i++)
sb.Append(Encoding.UTF8.GetString(Blocks[i]));
sb.Append(Encoding.UTF8.GetString(Blocks[total], 0, remaining));
return sb.ToString();
}