22

の違いを説明できる人はい  and  ますか?

データベースにバイナリ形式で格納されたhtmlデータがあり、スペースは または またはのいずれかになります 

また、問題は、この HTML を使用してプレーン テキストJSoup libに変換すると、適切に変換されますが、Java の String.contains(my string) メソッドを使用する場合です。持っているHTMLデータと持っているHTMLデータ が違うよう です。文字列はその逆でも見つかりません。

例:

HTML1:This is my test string

HTML2:This is my test string

JSoupを使用してプレーンテキストに変換すると。戻る

HTML 1 : これは私のテスト文字列です

HTML 2 : これは私のテスト文字列です

しかし、それでも両方の文字列は同じではありません。なぜそうなのですか?

4

5 に答える 5

43

 は古典的なスペースで、スペースバーを押したときに得られるもので、彼の HTML エンティティに相当するもので表されます。

 とは改行しないスペース を表し、ブラウザによって複数のスペースが一緒に折りたたまれるのを防ぐためによく使用されます。

"    "=> " " (1 つのスペースのみに折りたたまれます)

"    "=> " " (折りたたまれていない)

従来のスペースと非改行スペースの両方を含む文字列を解析している場合は、一方を他方に安全に置き換えることができます。

于 2012-08-16T09:22:26.273 に答える
6

 、は単なるスペース文字です。この文字の通常の出現は、最後に1 つのスペース文字に折りたたまれます。

as&#160 どちらも非改行スペース文字を表し、それらが連続して出現すると、1 つのスペース文字に折りたたまれるか、改行されます。

唯一の違いは、それ&#160HTML 番号 あり、HTML 名であるということです。

基本的に、これらはすべて HTML エンティティです。以下のリンクを参照して、それらについて学び、知ることができます。

  1. リンク 1
  2. リンク 2
于 2012-08-16T09:17:12.643 に答える
3

はスペース キーの文字です。

  と   は、両方とも非改行スペースの文字です。

データのソースが異なる場合は、スペース記号が別の方法でエンコードされている可能性があります。

直接比較すると、それらは異なるものとして示される可能性があります。

于 2012-08-16T09:17:08.367 に答える