欢迎光临
我们一直在努力

IDEA 出现 [NBSP] 解决方法,IDEA下NBSP是什么符号。C2A0是什么?

IDEA在页面中出现 [NBSP](如下图),也可能是只有几个页面,或者是一个页面中的某些位置出现该问题。这是因为IDEA解析了一些特殊的字符(有时是多写了某个字符导致出现该问题)。虽然这个问题对程序没有影响,但是在视觉上影响还是比较大的。

原因:

导致该原因一般是从网上复制粘贴,或者从其他地方复制粘贴出现的该现像,这种字符在有的编辑器里看似空格,其实跟空格是有点区别的。

分析NBSP与空格区别

文档第一行开头使用单引号包裹了3个NBSP特殊字符(从其他地方拷贝过来,暂未研究是怎么使用键盘直接敲出来,在Hex下输入c2a0)

为了方便区分,文件内添加了其他一些字符。

文档第三行使用单引号包裹了3个正常的空格。

下面两张图分别是NodePad++下普通视图与Hex视图。

在NodePad++下的普通视图
在NodePad++下Hex视图。

可以看出,在普通视图下NBSP特殊字符显示与空格并不不同,但在Hex视图下有明显区别。

Hex视图中单引号是27(红色,绿色),三个空格(20)蓝色标出。

而特殊符号NBSP 则是 `c2a0`。因此可以得出NBSP与普通空格视觉上一致,但实际编码是不一样的。

C2A0是什么?

UTF-8 中有一些特殊的不可见字符,常见的空格编码是 0x20(SPACE),而这儿遇到的空格编码则是 0xC2A0(NO-BREAK SPACE)

Unicode code pointcharaccterUTF-8(hex)name
U+002020SPACE
U+00A0c2 a0NO-BREAK SPACE

其来源是网页控制的特殊字符,用于阻止在此处自动换行和阻止多个空格被压缩成一个。如 我们如果不想空格被压缩,可以使用此字符。

C2A0是UTF8里的排版用的空格(这个空格是与ASCII、unicode中的空格是不一样的;ASCII中的空格编码是20,unicode中的空格是0xA0),但是这个特殊的字符,不在GBK字符集中。却频繁用于xml/html等格式的文件中。大量UTF-编码的网页使用这个字符用作占位的空格。而且不同浏览器对它的处理方式不同:IE浏览器识别出该符号并以空格显示,chrome、firefox则替换为xml转义字符  。

解决方法

IDEA 版本本人使用的2021.3;(2020.2 以后的版本好像都可以使用这个方法)

方法一:(一劳永逸)

全局查找替换

按下ctrl + shift + r进行全局替换

把NBSP,那个区域的NBSP字符复制到上面,下面填写普通空格,选定范围进行替换即可

方法二:(视觉上消失)

操作:Setting->Advanced Settings->

取消Render special characters,such as control codes, using their Unicode name abbreviations 勾选

确定应用后页面展示【NBSP】就消失了!

赞(5)
版权归原作者所有,如有侵权请告知。达维营-前端网 » IDEA 出现 [NBSP] 解决方法,IDEA下NBSP是什么符号。C2A0是什么?

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址