zoukankan      html  css  js  c++  java
  • 技能Get·BOM头是什么?

    阅文时长 | 0.26分钟 字数统计 | 472.8字符
    主要内容 | 1、引言&背景 2、BOM头是什么? 3、如何创建或取消BOM头? 4、如何判断文件是否包含BOM头? 5、声明与参考资料
    『技能Get·BOM头是什么?』
    编写人 | SCscHero 编写时间 | 2021/3/13 PM7:38
    文章类型 | 系列 完成度 | 待完善
    座右铭 每一个伟大的事业,都有一个微不足道的开始。

    一、引言&背景   完成度:100%

    a) 研究了什么问题?

    1. BOM头是什么?
    2. 如何创建或取消BOM头?
    3. 如何判断文件是否包含BOM头?

    b) 哪些情况需要了解?

    1. 强化基础知识,基本概念。
    2. 使用PHP等语言没有忽略BOM头的语言。

    二、BOM头是什么?   完成度:100%

    BOM 是用来判断文本文件是哪一种Unicode编码的标记,其本身是一个Unicode字符("\uFEFF"),位于文本文件头部。在不同的Unicode编码中,对应的bom的二进制字节如下:

    EF BB BF UTF-8
    FF FE UTF-16 aka UCS-2, little endian
    FE FF UTF-16 aka UCS-2, big endian
    00 00 FF FE UTF-32 aka UCS-4, little endian
    00 00 FE FF UTF-32 aka UCS-4, big-endian
    

    三、如何创建或取消BOM头?   完成度:100%

    • 创建,记事本打开,另存为带BOM的文件。如图,为创建带有BOM的-UTF-8文件。
    • 取消,记事本打开,另存为不带BOM的文件。

    四、如何判断文件是否包含BOM头?   完成度:100%

    根据BOM头的特性,文件的开头使用的特定的字节进行判断。以下是NodeJS判断BOM头的示例。

        let buf = fs.readFileSync(path);
        if (buf[0] == 0xef && buf[1] == 0xbb && buf[2] == 0xbf) {
            buf = buf.slice(3);//若是BOM头,则去除前三个字节。
        }
    

    五、声明与参考资料   完成度:100%

    原创博文,未经许可请勿转载。

    如有帮助,欢迎点赞、收藏、关注。如有问题,请评论留言!如需与博主联系的,直接博客私信SCscHero即可。

  • 相关阅读:
    ssh实现免密码登录和文件传输
    linux后台执行程序相关命令
    orchestrator
    curl下载安装与使用
    goland使用
    mysql集群
    consul理解
    my.cnf
    数据库的表设计
    项目常见面试问题
  • 原文地址:https://www.cnblogs.com/SCscHero/p/14530144.html
Copyright © 2011-2022 走看看