public void TestQuotedPrintableDecode() { const string input = "This is an ordinary text message in which my name (=ED=E5=EC=F9 =EF=E1 =E9=EC=E8=F4=F0)\nis in Hebrew (=FA=E9=F8=E1=F2)."; const string expected = "This is an ordinary text message in which my name (םולש ןב ילטפנ)\nis in Hebrew (תירבע)."; var encoding = Encoding.GetEncoding("iso-8859-8"); var decoder = new QuotedPrintableDecoder(); var output = new byte[4096]; string actual; byte[] buf; int n; Assert.AreEqual(ContentEncoding.QuotedPrintable, decoder.Encoding); buf = Encoding.ASCII.GetBytes(input); n = decoder.Decode(buf, 0, buf.Length, output); actual = encoding.GetString(output, 0, n); Assert.AreEqual(expected, actual); encoding = CharsetUtils.Latin1; for (int i = 0; i < qpEncodedPatterns.Length; i++) { decoder.Reset(); buf = encoding.GetBytes(qpEncodedPatterns[i]); n = decoder.Decode(buf, 0, buf.Length, output); actual = encoding.GetString(output, 0, n); Assert.AreEqual(qpDecodedPatterns[i], actual, "Failed to decode qpEncodedPatterns[{0}]", i); } }
public void TestQuotedPrintableDecodePatterns() { var decoder = new QuotedPrintableDecoder(); var encoding = CharsetUtils.Latin1; var output = new byte[4096]; string actual; byte[] buf; int n; for (int i = 0; i < qpEncodedPatterns.Length; i++) { decoder.Reset(); buf = encoding.GetBytes(qpEncodedPatterns[i]); n = decoder.Decode(buf, 0, buf.Length, output); actual = encoding.GetString(output, 0, n); Assert.AreEqual(qpDecodedPatterns[i], actual, "Failed to decode qpEncodedPatterns[{0}]", i); } }