public static byte[] Decode(byte[] input, byte escapeChar, byte space)
{
byte[] result;
using (MemoryStream memoryStream = new MemoryStream(input.Length))
{
for (int i = 0; i < input.Length; i++)
{
if (input[i] == space)
{
memoryStream.WriteByte(32);
}
else if (input[i] == escapeChar && i + 2 < input.Length)
{
i++;
memoryStream.WriteByte(WWWTranscoder.Hex2Byte(input, i++));
}
else
{
memoryStream.WriteByte(input[i]);
}
}
result = memoryStream.ToArray();
}
return(result);
}