ChatGPT解决这个技术问题 Extra ChatGPT

Notepad++ 是否显示所有隐藏字符?

在记事本++中,我设置了“用 2 个空格替换选项卡”。

在 Python 中编码时,我从网上复制粘贴了一些代码,它看起来缩进正确。但是运行代码会导致缩进错误,我最终通过删除行开头的所有“可见”空格并再次插入相同数量的空格来解决这个问题。

基于 Scintilla 的 Notepad++ 是否有可能不显示所有特殊字符,而是将它们显示为空格?有没有解决这个问题的设置?


P
Peter Mortensen

是的,它确实。启用此功能的方式取决于您的 Notepad++ 版本。在较新的版本上,您可以使用:

菜单视图 → 显示符号 → *显示所有字符`

或者

菜单视图→显示符号→显示空白和制表符

(感谢下面对这些更新位置的bers 评论和bkaid 的回答。)

在旧版本上,您可以查找:

菜单视图 → 显示所有字符

或者

菜单视图 → 显示空白和 TAB


现在是 View->Show Symbol->Show White Space and TAB (v6.8.8)。
这取决于编码,我不相信它会显示所有空白符号,例如,如果您尝试不间断空格 U+00A0 或零宽度不间断空格 U+FEFF
像 \u0000 这样的字符呢,如何显示它
注意:NP++ 并不完美:我正在使用一些工具来生成文件,并且不知何故有一个未显示的字符,但箭头键需要按两次才能跳过它。 :(
我看不到‎反正字符。
b
bkaid

在较新版本的 Notepad++(当前为 5.9)中,此选项位于:

View->Show Symbol->Show All Characters

或者

View->Show Symbol->Show White Space and Tab

这现在应该是最新版本的 N++ 的公认答案
在我试图识别隐藏空白空间中的特殊字符的文件之一中,Notepad++ 显示为 NUL。那个实际的符号是什么?
w
wonea

使用十六进制编辑器插件仔细检查您的文本。在您的情况下,可能有一些控制字符已经潜入您的文本中。通常您会查看空白,它会显示 32 32 32 32,或 Unicode 32 00 32 00 32 00 32 00。如果没有大量代码,您可能会这样发现问题。

从这里下载 Hex 插件; http://sourceforge.net/projects/npp-plugins/files/Hex%20Editor/


十六进制编辑器插件很有帮助,谢谢!你的链接虽然坏了。这是更新的link
Y
Yuankun

对于非打印字符,您可以执行以下操作:

如果您可以识别字符,光标需要 2 个箭头键移动,只需选择该字符。

执行 Ctrl-F

现在您可以计算或替换甚至标记所有此类字符


I
Ion-Christopher DiMeglio

是的,很遗憾,您无法关闭它们或任何其他特殊字符。 \View\Show Symbols 下的选项仅打开或关闭选项卡、空格、EOL 等内容。因此,如果您想阅读一些带有文本的晦涩编码 - 您实际上需要查看其他地方。我还研究了更改编码,ASCII 未列出,这不会使混乱不可见。


这显然是 Notepad++ 中的一个严重的当前限制
4
4wk_

不,不是的。至少在没有插件的情况下不是原生的。

是的,N++ 确实显示了几乎所有不可打印的字符,但不是全部,即使打开了“显示所有字符”选项也是如此。

例如,不显示 U+200BU+FEFFU+A0,即使切换为“显示所有字符”也是如此。

https://i.stack.imgur.com/FdcJA.png

这是它在 N++ 中的样子:

https://i.stack.imgur.com/SiWKI.png

注意:Notepadd++ 确实“看到”了这些字符,因为如果你用箭头键移动光标,它不会在第 3 行的每个点之后再移动一次击键。但它不会显示它们,即使使用“显示所有字符” “ 选项。

免责声明:这个问题是关于空格的,但标题更广泛,这是搜索“在 N++ 上显示所有字符”时在 SERP 上的第一个结果。