当前位置: 首页 > news >正文

什么是BOM?

BOM(Byte Order Mark),即字节顺序标记。它是干什么用的呢?

一、BOM的作用

BOM就是一个放在文件开头的小标签,用来指明后面的数据的两个属性:

1.编码

在Unicode的世界里,有UTF-8、UTF-16、UTF-32等多种编码方式,BOM就像个向导,告诉你用的是哪种编码。

2.字节序

虽然UTF-8是字节序无关的,但对于UTF-16和UTF-32这种多字节编码,字节的顺序可是个大问题,这时候就需要BOM来指明字节序了。

二、BOM的本质

BOM本质上就是文件开头的一小段数据:

UTF编码

BOM

UTF-8

EF BB BF

UTF-16(大端)

FE FF

UTF-16(小端)

FF FE

UTF-32(大端)

00 00 FE FF

UTF-32(小端)

FF FE 00 00

表中的BOM编码在Unicode中都是未定义的码位,也就是说所有已定义的Unicode字符都不会占用这几个编码,所以它们可以专用来充当“标签”。

在实际使用中,UTF-8文件通常不包含BOM,因为UTF-8的编码不需要BOM。


http://www.mrgr.cn/news/35153.html

相关文章:

  • 【Kubernetes】常见面试题汇总(三十六)
  • Activiti7《第九式:破气式》——流畅驱动工作流进程。面试题大全
  • 牛客周赛 Round 61 (C++实现)
  • 在不牺牲质量的情况下压缩 WebP 图片大小的 3 种方法
  • CDA Level 1 考试成绩汇报
  • QT 中的信号与槽机制详解
  • 基于python+django+vue的电影数据分析及可视化系统
  • Redisson使用详解:一个强大的Redis Java客户端
  • Win11右键默认显示更多设置教程
  • linux sigprocmask函数
  • Voxel mamba :基于Mamba的3D目标检测算法解析
  • 设计模式之备忘录
  • C++ :借助栈完成二叉树的非递归遍历
  • word怎么加密?掌握这4种加密技巧,保护你的文件安全!
  • workerman 接入文心一言的流式输出
  • PHPMailer低版本用法(实例)
  • NLP自然语言处理
  • windows使用JEnv实现一键临时或全局切换java版本
  • 一带一路区块链样题解析(上)
  • 数据结构---顺序表之单链表