当前位置:  开发笔记 > 编程语言 > 正文

清除不可见字符的源代码文件

如何解决《清除不可见字符的源代码文件》经验,为你挑选了3个好方法。

我有一个奇怪的问题:我的HTML/PHP代码中有一个隐藏的,不可见的字符,我似乎无法摆脱它.通过从Firebug复制并转换它,我将其识别为"零宽度不间断空间".它在我的网站中显示为非空文本节点,并导致严重的布局问题.

问题是,我无法摆脱它.即使在(呃)转向Invisibles时,我也无法在我的文件中看到它.我似乎无法找到它,似乎没有搜索工具.我重写了我的代码可能的位置,但它似乎在某个框架文件中更深处.

有什么好的工具可以通过字符串或类似的东西来查找字符?(Mac OS X)



1> Boldewyn..:

您没有在编辑器中获得该字符,因为您无法在文本编辑器中找到它.#FEFF或#FFFE是所谓的字节顺序标记.它们是微软的一项发明,用于记录Unicode文件,其中存储了多字节字符.

要摆脱它,请告诉编辑器将文件保存为ANSI/ISO-8859或不带BOM的 Unicode .如果您的编辑器不能这样做,您将不得不切换编辑器(遗憾地)或使用某种截断工具,例如,十六进制编辑器,它允许您查看文件的真实外观.

在谷歌上,似乎TextWrangler具有"UTF-8,无BOM"模式.否则,如果您对终端感到满意,可以使用Vim:

:set nobomb

并保存文件.普雷斯托!

字符始终是文本文件中的一个字符.正如我所提到的那样,支持BOM的编辑器根本不会向你显示.

干杯,


对不起,'你不明白'并不是侮辱,它应该以逗号结束.我很抱歉!

2> Mirko..:

如果您使用的是Textmate,则问题出在UTF-8文件中:

    打开文件

    文件>使用编码重新打开> ISO-8859-1(Latin1)

    您应该能够查看和删除文件中的第一个字符

    文件>保存

    文件>使用编码重新打开> UTF8

    文件>保存

它每次都适合我.



3> Vexatus..:

这是一个字节顺序标记.在Mac OS X下:打开终端窗口,转到您的来源并输入:

grep -rn $'\xFEFF' *

它将显示包含BOM的行号和文件名.

推荐阅读
小色米虫_524
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有