去除 UTF-8 文件 BOM 头
什么是 BOM?
BOM 全称是 Byte Order Mark(字节顺序标记)。出现在文本文件头部,Unicode 编码标准中用于标识文件是采用哪种格式的编码。比如:当用记事本保存一个以 UTF-8 编码的文件时,会自动在文件开始自动插入三个不可见字符“0xEF 0xBB 0xBF”,但是通常情况下不需要这个头部来识别文件的编码,在PHP代码中存在BOM,会导致网页的首行存在预料外的间隙。
去除 BOM 方法
【方法一】打开 vim
键入 :set bomb,回车,显示 bomb 表示文件有 BOM,nobom 表示文件无 BOM;
键入 :set nobomb,并回车。
【方法二】打开 notepad++
依次点击菜单栏【格式】-【以 UTF-8 无 BOM 格式编码】,并保存。
【方法三】sed 命令
utf-8 编码文件的 BOM 是 “0xEF 0xBB 0xBF”(更多 BOM 请点击),针对 utf-8 编码文件去掉 BOM:
// 生成新文件 sed '1s/^\xEF\xBB\xBF//' < orig.txt > new.txt
或
// 直接覆盖老文件 sed -i '1s/^\xEF\xBB\xBF//' orig.txt
参考链接:
How can I remove the BOM from a UTF-8 file?(https://unix.stackexchange.com/questions/381230/how-can-i-remove-the-bom-from-a-utf-8-file)
本文来自博客园,作者:imzhi,转载请注明原文链接:https://www.cnblogs.com/imzhi/p/10267897.html
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· .NET 适配 HarmonyOS 进展
· 本地部署 DeepSeek:小白也能轻松搞定!
· 如何给本地部署的DeepSeek投喂数据,让他更懂你
· 从 Windows Forms 到微服务的经验教训
· 李飞飞的50美金比肩DeepSeek把CEO忽悠瘸了,倒霉的却是程序员
· 超详细,DeepSeek 接入PyCharm实现AI编程!(支持本地部署DeepSeek及官方Dee