0

このコードを参照してください:

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合格しますが、TestLeftBrace失敗します (をConvert返します{)。どうしてこれなの?

4

1 に答える 1

3

ここでは 2 つのことが行われているようです。

  1. &lbrace{ であり、[ ( http://jsfiddle.net/B7AAh/1/ )ではない

  2. &lbrace既知のアイテムのリストに含まれていないようです。ソース コードはこちらhttp://referencesource.microsoft.com/#System/net/System/Net/WebUtility.csで、ここで見つかったエンティティのリストを参照しています http://www.w3.org/TR/REC-html40 /sgml/entities.html

于 2014-07-27T01:23:54.440 に答える