跳到主要内容
uencoder

Byte Order Mark

字节顺序标记(BOM)是置于 Unicode 文本开头的 U+FEFF 字符,用于指示编码形式与字节序。

用途

使解码器无需外部元数据即可自动检测文本编码与字节序。

机制

不同编码产生不同 BOM 字节序列:UTF-8 = EF BB BF,UTF-16LE = FF FE,UTF-16BE = FE FF,UTF-32LE = FF FE 00 00,UTF-32BE = 00 00 FE FF。解码器读取前 2-4 字节匹配。

用例

  • 文本编辑器编码检测
  • 跨系统文本文件交换
  • 数据库导入编码识别
  • CSV 文件 Excel 编码处理

示例

  • 输入
    UTF-16LE file
    输出
    FF FE ...

    Leading bytes FF FE indicate little-endian UTF-16

常见错误

Mistaking a UTF-8 BOM for data content
Detect and strip the BOM when reading

相关词条

相关工具

参考链接