Skip to main content

BOM 检测 & 去除工具 检测和从文本文件中删除字节顺序标记(BOM).

BOM 检测/去除工具 illustration
🔄

BOM 检测/去除工具

检测和从文本文件中删除字节顺序标记(BOM).

1

上传文件

拖放或选择一个文件来检查是否包含BOM。

2

查看BOM状态

查看文件中是否存在BOM、其类型以及编码方式。

3

如有需要,移除BOM

如果检测到BOM,则可以下载不包含BOM的文件。

Loading tool...

What Is BOM 检测/去除工具?

BOM 检测器/移除工具检查文件是否存在字节顺序标记(BOM),并允许您下载不包含 BOM 的版本。BOM 是文本文件开头的特殊字节序列,用于识别其编码和字节顺序。虽然对于 UTF-16/32 文件很有用,但 UTF-8 BOM 通常是没有必要的,并可能导致脚本、PHP 文件和某些解析器出现问题。本工具检测 UTF-8、UTF-16 LE/BE、UTF-32 LE/BE、UTF-7 和 UTF-1 的 BOM,显示 BOM 字节,并允许您下载移除 BOM 的文件。

Why Use BOM 检测/去除工具?

  • 能够检测7种BOM类型:UTF-8、UTF-16 LE/BE、UTF-32 LE/BE、UTF-7、UTF-1。
  • 以十六进制显示确切的BOM字节。
  • 一键移除BOM并下载文件。
  • 显示文件的前几个字节用于验证。

Common Use Cases

PHP/脚本问题

移除UTF-8 BOM以解决PHP脚本中的"headers already sent"错误。

CSV导入

从CSV文件中移除BOM,以防止第一列标题包含不可见字符。

JSON解析

修复由于文件开始处的BOM字符引起的JSON解析错误。

跨平台兼容性

移除BOM以确保在不同操作系统和工具中的一致文件处理。

Technical Guide

检测器将整个文件读取为 ArrayBuffer,然后检查前 4 个字节与已知的 BOM 序列进行比较。BOM 按从最具体(最长)到最不具体的顺序进行检查:

- UTF-32 LE: FF FE 00 00
- UTF-32 BE: 00 00 FE FF
- UTF-8: EF BB BF
- UTF-16 LE: FF FE
- UTF-16 BE: FE FF
- UTF-7: 2B 2F 76
- UTF-1: F7 64 4C

注意:UTF-32 LE BOM 在 UTF-16 LE 之前进行检查,因为 UTF-32 LE 以相同的 FF FE 字节开头。

BOM 移除创建一个新的 ArrayBuffer 片段,起始于 BOM 字节之后。结果作为 Blob 下载,使用原始文件名。

Tips & Best Practices

  • 1
    UTF-8 BOM是最常见的有问题的BOM--通常它是不必要的。
  • 2
    一些Windows程序默认添加UTF-8 BOM(例如Notepad)。
  • 3
    CSV文件中的BOM可能会使第一列标题不可读。
  • 4
    移除后,通过在文本编辑器中打开来验证文件内容是否仍然正确。

Related Tools

Frequently Asked Questions

Q 什么是BOM?
字节顺序标记(BOM)是一种位于文本文件开始处的特殊字节序列,用于识别其Unicode编码和字节顺序。
Q 我应该移除UTF-8 BOM吗?
通常是的。UTF-8不需要BOM(它没有字节顺序问题),而且BOM可能会导致PHP、JSON解析器和一些工具的问题。
Q 移除BOM是否安全?
对于UTF-8文件是的。但是,对于UTF-16/32文件,移除BOM可能会在某些应用程序中引起编码检测问题。
Q 移除BOM是否会改变文件编码?
不会,移除BOM仅移除标记字节。文件内容和编码保持不变。
Q 如何防止添加BOM?
在您的文本编辑器中,在保存时选择"UTF-8 without BOM"。VS Code、Sublime Text和Notepad++都有此选项。

About This Tool

BOM 检测/去除工具 is a free online tool by FreeToolkit.ai. All processing happens directly in your browser — your data never leaves your device. No registration or installation required.