<0xEF,0xBB,0xBF>文件中出现的字符。如何去除它们?

发布于 2024-12-03 00:23:14 字数 82 浏览 2 评论 0 原文

我正在压缩 JavaScript 文件,压缩器抱怨我的文件中有  字符。

如何搜索这些字符并将其删除?

I am doing compressing of JavaScript files and the compressor is complaining that my files have  character in them.

How can I search for these characters and remove them?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(13

浅暮の光 2024-12-10 00:23:14

您可以使用 vim 轻松删除它们,步骤如下:

1) 在终端中,使用 vim 打开文件:

vim file_name

2) 删除所有 BOM 字符:

:set nobomb

3) 保存文件:

:wq

You can easily remove them using vim, here are the steps:

1) In your terminal, open the file using vim:

vim file_name

2) Remove all BOM characters:

:set nobomb

3) Save the file:

:wq
帅气称霸 2024-12-10 00:23:14

另一种删除这些字符的方法 - 使用 Vim

vim -b 文件名

现在那些“隐藏”字符可见()并且可以删除。

Another method to remove those characters - using Vim:

vim -b fileName

Now those "hidden" characters are visible (<feff>) and can be removed.

微凉徒眸意 2024-12-10 00:23:14

感谢您之前的回答,这里有一个 sed(1) 变体,以防万一:

sed '1s/^\xEF\xBB\xBF//'

Thanks for the previous answers, here's a sed(1) variant just in case:

sed '1s/^\xEF\xBB\xBF//'
残花月 2024-12-10 00:23:14

在 Unix/Linux 上:

sed 's/\xEF\xBB\xBF//' < inputfile > outputfile

在 MacOSX 上

sed 

对于 mac,请注意 sed 后面的 $。

在 Windows 上

Super Sed sed 的增强版本。对于 Windows,这是一个独立的 .exe,旨在从命令行运行。

s/\xEF\xBB\xBF//' < inputfile > outputfile

对于 mac,请注意 sed 后面的 $。

在 Windows 上

Super Sed sed 的增强版本。对于 Windows,这是一个独立的 .exe,旨在从命令行运行。

On Unix/Linux:

sed 's/\xEF\xBB\xBF//' < inputfile > outputfile

On MacOSX

sed 

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.

s/\xEF\xBB\xBF//' < inputfile > outputfile

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.

苄①跕圉湢 2024-12-10 00:23:14
perl -pi~ -CSD -e 's/^\x{fffe}//' file1.js path/to/file2.js

我认为如果您的文件中有其他 utf-8,该工具将会崩溃,但如果没有,也许这个解决方法可以帮助您。 (未经测试...)

编辑:根据tchrist的评论添加了-CSD选项。

perl -pi~ -CSD -e 's/^\x{fffe}//' file1.js path/to/file2.js

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.

伴随着你 2024-12-10 00:23:14

使用 tail 可能会更容易:

tail --bytes=+4 filename > new_filename

Using tail might be easier:

tail --bytes=+4 filename > new_filename
淤浪 2024-12-10 00:23:14

我使用 vimgrep 来执行这个

:vim "[\uFEFF]" *

也是普通的 vim 搜索命令

/[\uFEFF]

I've used vimgrep for this

:vim "[\uFEFF]" *

also normal vim search command

/[\uFEFF]
浅黛梨妆こ 2024-12-10 00:23:14

@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 :-)

疧_╮線 2024-12-10 00:23:14

'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.

没有心的人 2024-12-10 00:23:14

我建议使用“dos2unix”工具,请测试运行dos2unix ./thefile.js

如果有必要,请尝试对多个文件使用类似的内容:

for x in $(find . -type f -exec echo {} +); do dos2unix $x ; done

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:

for x in $(find . -type f -exec echo {} +); do dos2unix $x ; done

My Regards.

洒一地阳光 2024-12-10 00:23:14

在 Windows 中,您可以使用 recode 实用程序>UnxUtils

In windows you could use backported recode utility from UnxUtils.

坦然微笑 2024-12-10 00:23:14

Sublime Text 中,您可以安装 荧光笔包,然后在用户设置中自定义正则表达式。

在这里,我将 \uFEFF 添加到 highlighter_regex 属性的末尾。

{
    "highlighter_enabled": true,
    "highlighter_regex": "(\t+ +)|( +\t+)|[\u2026\u2018\u2019\u201c\u201d\u2013\u2014\uFEFF]|[\t ]+$",
    "highlighter_scope_name": "invalid",
    "highlighter_max_file_size": 1048576,
    "highlighter_delay": 3000
}

要覆盖默认包设置,请将文件放置在此处:

~/.config/sublime-text-3/Packages/User/highlighter.sublime-settings

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 the highlighter_regex property.

{
    "highlighter_enabled": true,
    "highlighter_regex": "(\t+ +)|( +\t+)|[\u2026\u2018\u2019\u201c\u201d\u2013\u2014\uFEFF]|[\t ]+$",
    "highlighter_scope_name": "invalid",
    "highlighter_max_file_size": 1048576,
    "highlighter_delay": 3000
}

To overwrite the default package settings place the file here:

~/.config/sublime-text-3/Packages/User/highlighter.sublime-settings

送舟行 2024-12-10 00:23:14

保存没有代码签名的文件。

Save the file without code signature.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文