void DecodeDesc(string source)
{
int curr = 0;
string fn;
int size;
while (true)
{
int pos = source.IndexOf("|", curr);
if (pos == -1)
break;
fn = source.Substring(curr, pos - curr);
curr = pos + 1;
pos = source.IndexOf("|", curr);
size = int.Parse(source.Substring(curr, pos - curr));
curr = pos + 1;
_descPack[fn] = source.Substring(curr, size);
curr += size;
}
}