<0xEF,0xBB,0xBF>文件中出现的字符。如何去除它们?
我正在压缩 JavaScript 文件,压缩器抱怨我的文件中有 
字符。
如何搜索这些字符并将其删除?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我正在压缩 JavaScript 文件,压缩器抱怨我的文件中有 
字符。
如何搜索这些字符并将其删除?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(13)
您可以使用 vim 轻松删除它们,步骤如下:
1) 在终端中,使用 vim 打开文件:
2) 删除所有 BOM 字符:
3) 保存文件:
You can easily remove them using vim, here are the steps:
1) In your terminal, open the file using vim:
2) Remove all BOM characters:
3) Save the file:
另一种删除这些字符的方法 - 使用 Vim:
现在那些“隐藏”字符可见(
)并且可以删除。Another method to remove those characters - using Vim:
Now those "hidden" characters are visible (
<feff>
) and can be removed.感谢您之前的回答,这里有一个 sed(1) 变体,以防万一:
Thanks for the previous answers, here's a sed(1) variant just in case:
在 Unix/Linux 上:
在 MacOSX 上
对于 mac,请注意 sed 后面的 $。
在 Windows 上
有 Super Sed sed 的增强版本。对于 Windows,这是一个独立的 .exe,旨在从命令行运行。
On Unix/Linux:
On MacOSX
Notice the $ after sed for mac.
On Windows
There is Super Sed an enhanced version of sed. For Windows this is a standalone .exe, intended for running from the command line.
我认为如果您的文件中有其他 utf-8,该工具将会崩溃,但如果没有,也许这个解决方法可以帮助您。 (未经测试...)
编辑:根据tchrist的评论添加了
-CSD
选项。I would assume the tool will break if you have other utf-8 in your files, but if not, perhaps this workaround can help you. (Untested ...)
Edit: added the
-CSD
option, as per tchrist's comment.使用 tail 可能会更容易:
Using tail might be easier:
我使用 vimgrep 来执行这个
也是普通的 vim 搜索命令
I've used vimgrep for this
also normal vim search command
@tripleee 的解决方案对我不起作用。但是将文件编码更改为 ASCII,然后再次更改为 UTF-8 就成功了:-)
@tripleee's solution didn't work for me. But changing the file encoding to ASCII and again to UTF-8 did the trick :-)
'file' 命令显示 BOM 是否存在:
例如:'file myfile.xml' 显示:“XML 1.0 document, UTF-8 Unicode (with BOM) text, with very longlines, with CRLF line terminators”
dos2unix 将删除 BOM。
The 'file' command shows if the BOM is present:
For example: 'file myfile.xml' displays: "XML 1.0 document, UTF-8 Unicode (with BOM) text, with very long lines, with CRLF line terminators"
dos2unix will remove the BOM.
我建议使用“dos2unix”工具,请测试运行
dos2unix ./thefile.js
。如果有必要,请尝试对多个文件使用类似的内容:
My Regards。
I'm suggest the use of "dos2unix" tool, please test to run
dos2unix ./thefile.js
.If necessary try to use something like this for multiple files:
My Regards.
在 Windows 中,您可以使用 recode 实用程序>UnxUtils。
In windows you could use backported recode utility from UnxUtils.
在 Sublime Text 中,您可以安装 荧光笔包,然后在用户设置中自定义正则表达式。
在这里,我将
\uFEFF
添加到highlighter_regex
属性的末尾。要覆盖默认包设置,请将文件放置在此处:
In Sublime Text you can install the Highlighter package and then customize the regular expression in your user settings.
Here I added
\uFEFF
to the end of thehighlighter_regex
property.To overwrite the default package settings place the file here:
保存没有代码签名的文件。
Save the file without code signature.