public int DecodeString(
string data,
Stream outStream)
{
byte b1, b2;
int length = 0;
int end = data.Length;
while (end > 0)
{
if (!ignore(data[end - 1]))
{
break;
}
end--;
}
int i = 0;
while (i < end)
{
while (i < end && ignore(data[i]))
{
i++;
}
b1 = decodingTable[data[i++]];
while (i < end && ignore(data[i]))
{
i++;
}
b2 = decodingTable[data[i++]];
outStream.WriteByte((byte)((b1 << 4) | b2));
length++;
}
return length;
}