public static byte[] ASCIIHexDecode(byte[] inp) { MemoryStream outp = new MemoryStream(); bool first = true; int n1 = 0; for (int k = 0; k < inp.Length; ++k) { int ch = inp[k] & 0xff; if (ch == '>') break; if (PRTokeniser.IsWhitespace(ch)) continue; int n = PRTokeniser.GetHex(ch); if (n == -1) throw new ArgumentException("Illegal character in ASCIIHexDecode."); if (first) n1 = n; else outp.WriteByte((byte)((n1 << 4) + n)); first = !first; } if (!first) outp.WriteByte((byte)(n1 << 4)); return outp.ToArray(); }
public byte[] Decode(byte[] b, PdfName filterName, PdfObject decodeParams, PdfDictionary streamDictionary) { MemoryStream outS = EnableMemoryLimitsAwareHandler(streamDictionary); b = PdfReader.ASCIIHexDecode(b, outS); return(b); }