13

HttpUtility.HtmlDecode(" ")今までは宇宙だと思っていました。ただし、以下のコードは常に false を返します。

string text = " ";

text = HttpUtility.HtmlDecode(text);

string space = " ";

if (String.Compare(space, text) == 0)
  return true;
else
  return false;

私が試してみると同じServer.HtmlDecode()

なぜそうなのですか?

どんな助けでも大歓迎です

ありがとう、N

4

4 に答える 4

16

HTML エンティティ はスペースを表すのではなく、非改行スペースを表します。

非改行スペースの文字コードは 160 です。

string nbspace = "\u00A0";

また、Marc Gravell が気付いたように、コードを二重にエンコードしたため、文字を取得するにはコードを 2 回デコードする必要があります。

string text = " ";
text = HttpUtility.HtmlDecode(HttpUtility.HtmlDecode(text));
于 2012-11-26T12:46:15.587 に答える
2

の HTML は、いかなる種類のスペースも 意味しません。文字通り、テキストを意味します。たとえば、HTML について話している HTML を書いている場合、テキストを含める必要があるかもしれません。   

あなたが持っていた場合:

string text = " ";

次に、それは改行なしのスペースにデコードされます。

于 2012-11-26T12:47:07.433 に答える