什么是字节序标记


本文作者: jsweibo

本文链接: https://jsweibo.github.io/2019/03/21/%E4%BB%80%E4%B9%88%E6%98%AF%E5%AD%97%E8%8A%82%E5%BA%8F%E6%A0%87%E8%AE%B0/

摘要

本文主要讲述了:

  1. 什么是字节序标记
  2. UTF-8
  3. UTF-16
  4. UTF-32

正文

什么是字节序标记

字节序标记,英文为 byte order mark,缩写为 BOM。

字节序标记是 1 个 Unicode 字符,Unicode 码点为U+FEFF。它作为 1 个幻数出现在纯文本流的开头,向纯文本读取程序标志字节序和编码格式等信息。

UTF-8

U+FEFF的 UTF-8 编码为EF BB BF

Unicode 标准允许但不推荐在 UTF-8 里使用 BOM。

注:UTF-8 编码不区分大端小端

UTF-16

U+FEFF的 UTF-16BE 编码为FE FF,UTF-16LE 编码为FF FE

如果纯文本以 UTF-16BE 编码,那么 BOM 就是FE FF

如果纯文本以 UTF-16LE 编码,那么 BOM 就是FF FE

UTF-32

U+FEFF的 UTF-32BE 编码为00 00 FE FF,UTF-32LE 编码为FF FE 00 00

如果纯文本以 UTF-32BE 编码,那么 BOM 就是00 00 FE FF

如果纯文本以 UTF-32LE 编码,那么 BOM 就是FF FE 00 00

参考资料

本文作者: jsweibo

本文链接: https://jsweibo.github.io/2019/03/21/%E4%BB%80%E4%B9%88%E6%98%AF%E5%AD%97%E8%8A%82%E5%BA%8F%E6%A0%87%E8%AE%B0/


本文对你有帮助?请支持我


支付宝
微信