删除文件中的BOM字符

Mey*_*yan 23 byte-order-mark notepad++

我的html文件中有BOM字符.我想删除它.我经常搜索并使用了很多脚本等等.但没有人工作.我也下载了notepad ++,但是在编码菜单中没有编码"UTF8 without BOM".如何删除该BOM字符?谢谢.

我的记事本++的截图

Wal*_*erM 32

如果您查看相同的菜单.单击"转换为UTF-8".

如果您查看相同的菜单. 单击


Lea*_*des 5

您可以使用vim解决问题,在这里可以使用MinGW-w64(如果已经安装了Git,则可以轻松使用)或Cygwin。

因此,关键是要使用:

  • 该选项-s将使用vim命令执行一个vim脚本。
  • 选项-b,它将以二进制模式打开文件,在此您将看到那些笨拙的BOM字节
  • 该选项-n非常重要!此选项拒绝使用交换文件,因此所有工作都在内存中运行。它给您保证,因为如果文件很大,交换文件可能会误导该过程。

就是说,让我们看一下代码!

  1. 首先,您创建一个简单的文件,在此处名为“ script”,该文件将包含vim命令

    echo 'gg"+gPggdtCZZ' > script
    
    Run Code Online (Sandbox Code Playgroud)

    ...这个奇怪的字符串告诉vim“ 转到文件的开头,复制第一个单词并将其粘贴到光标后面,因此删除所有内容,直到字符'C',然后保存文件

    注意:如果文件以“ C”以外的其他字符开头,则必须指定它。如果您有不同的“第一个字符”,则可以遵循逻辑并创建一个bash脚本,该脚本将读取第一个字符并将其替换为上面的代码段。

  2. 运行vim命令:

    vim -n -b <the_file> -s script
    
    Run Code Online (Sandbox Code Playgroud)

  • 如果要使用Vim,此命令会更简单:`vim &lt;filename&gt;“ + set nobomb”“ + wq”`。这样,您不必知道文件的第一个可见字符。 (4认同)