Maria Ines Parnisari
Maria Ines Parnisari

Reputation: 17466

HttpUtility.HtmlDecode() fails for some characters

See this code:

namespace TestHtmlDecode
{
    using Microsoft.VisualStudio.TestTools.UnitTesting;
    using System.Web;

    [TestClass]
    public class TestHtmlDecode
    {
        private string Convert(string input)
        {
            return HttpUtility.HtmlDecode(input);
        }

        [TestMethod]
        public void TestLeftBrace()
        {
            Assert.AreEqual("{", Convert("{"));
        }

        [TestMethod]
        public void TestGreaterThan()
        {
            Assert.AreEqual(">", Convert(">"));
        }
    }
}

TestGreaterThan passes, but TestLeftBrace fails (Convert returns {). Why is this?

Upvotes: 0

Views: 462

Answers (1)

Joe
Joe

Reputation: 5487

Looks like there are two things going on here.

  1. &lbrace is a { and not [ (http://jsfiddle.net/B7AAh/1/)

  2. It doesn't look like &lbrace is included in the list of of known items. Source code is here http://referencesource.microsoft.com/#System/net/System/Net/WebUtility.cs which refers to the list of entities found here http://www.w3.org/TR/REC-html40/sgml/entities.html

Upvotes: 3

Related Questions