任何人都可以解释  and
之间的差异吗?
我将html数据以二进制形式和空间存储在数据库中,可以是
或 
,有时是 
。
另外一个问题是当我使用 JSoup lib
将此HTML转换为纯文本时,它正在正确转换它,但是如果我使用java的String.contains(我的字符串)方法。看起来像
的HTML数据与 
的HTML数据不同。无法找到字符串,反之亦然。
示例:
HTML1:This is my test string
HTML2:This is my test string
如果我使用JSoup将其转换为纯文本。它返回
HTML 1:这是我的测试字符串
HTML 2:这是我的测试字符串
但两个字符串仍然不一样。为什么会这样?
答案 0 :(得分:30)
 
是经典空间,是您点击空格键时获得的空间,由他的HTML实体等效表示。
和 
代表non-breaking space,通常用于防止浏览器崩溃多个空间转移:
"    "
=> “”(折叠成只有一个空格)
" "
=> “”(没有崩溃)
如果要分析包含经典和非破坏空格的字符串,则可以安全地将其替换为另一个。
答案 1 :(得分:3)
&#32是空格键的字符。
&#160和& nbsp都是非破坏空间的字符。
如果您的数据来自不同的来源,则空间符号可能的编码方式可能不同。
在直接比较中,它们可能会显示为不同。
答案 2 :(得分:3)
 
,仅仅是一个空间角色。此角色的定期出现将在最后折叠为 一个空格 字符。
 
和
都代表不间断的空格字符,如果它们一个接一个地连续出现,它们将会崩溃或中断为一个空格字符。
只是,它们之间的区别在于 
是 HTML编号而
是 HTML名称。
基本上所有这些都是HTML实体。您可以通过以下链接了解和了解它们。
答案 3 :(得分:1)