utf-8与带有BOM的utf-8的区别
最近在学习处理的过程中,遇到了需要txt转换为csv文件的需求,第一步当然是另存txt为utf-8的格式,但是博主在保存时,发现了utf-8有两种格式,如下图:
怀着求知欲,我查找了一下两者的区别,现汇总如下:
- 在UTF-8中,一个汉字占3个字节(一个字符占一个字节)
- BOM即byte order mark ,中文名译作“字节顺序标记”。在UCS 编码中有一个叫做 “Zero Width No-Break Space” ,中文译名作“零宽无间断间隔”的字符,它的编码是 FEFF。而 FEFF 在 UCS 中是不存在的字符,所以不应该出现在实际传输中。UCS 规范建议我们在传输字节流前,先传输字符 “Zero Width No-Break Space”。这样如果接收者收到 FEFF,就表明这个字节流是 Big-Endian 的;如果收到FFFE,就表明这个字节流是 Little- Endian 的。因此字符 “Zero Width No-Break Space” (“零宽无间断间隔”)又被称作 BOM。UTF-8 不需要 BOM 来表明字节顺序,但可以用 BOM 来表明编码方式。字符 “Zero Width No-Break Space” 的 UTF-8 编码是 EF BB BF。所以如果接收者收到以 EF BB BF 开头的字节流,就知道这是 UTF-8编码了。Windows 就是使用 BOM 来标记文本文件的编码方式的。[百度百科查找]
- 不含BOM的UTF-8才是标准形式,UTF-8不需要BOM
utf-8与带有BOM的utf-8的区别相关推荐
- UTF-8和不带BOM的UTF-8有什么区别?
没有BOM的 UTF-8和UTF-8有什么区别? 哪个更好? #1楼 我从另一个角度看待这个问题. 我认为带有BOM的UTF-8更好,因为它提供了有关文件的更多信息. 仅当遇到问题时,我才使用不带BO ...
- Java读带有BOM的UTF-8文件乱码原因及解决方法(转)
转载:http://www.linuxidc.com/Linux/2012-12/76707.htm 最近在处理文件时发现了同样类型的文件使用的编码可能是不同的.所以想将文件的格式统一一下(因为UTF ...
- Java读取UTF-8格式txt文件第一行出现乱码及解决;Java读带有BOM的UTF-8文件乱码原因及解决方法(转载)...
原文地址:http://blog.csdn.net/jackpk/article/details/5702964/ Java读取UTF-8的txt文件第一行出现乱码"?"及解决 t ...
- Java读带有BOM的UTF-8文件乱码原因及解决方法
Java读带有BOM的UTF-8文件乱码原因及解决方法 Java读带有BOM的UTF-8文件乱码原因及解决方法 - daimojingdeyu - ITeye技术网站 Java读带有BOM的UTF-8 ...
- 谈谈Unicode编码,简要解释UCS、UTF、BMP、BOM等名词
这是一篇程序员写给程序员的趣味读物.所谓趣味是指可以比较轻松地了解一些原来不清楚的概念,增进知识,类似于打RPG游戏的升级.整理这篇文章的动机是两个问题: 问题一: 使用Windows记事本的&quo ...
- 【转】谈谈Unicode编码,简要解释UCS、UTF、BMP、BOM等名词
这是一篇程序员写给程序员的趣味读物.所谓趣味是指可以比较轻松地了解一些原来不清楚的概念,增进知识,类似于打RPG游戏的升级.整理这篇文章的动机是两个问题: 问题一: 使用Windows记事本的&quo ...
- 转:谈谈Unicode编码,简要解释UCS、UTF、BMP、BOM等名词
一篇程序员写给程序员的趣味读物.所谓趣味是指可以比较轻松地了解一些原来不清楚的概念,增进知识,类似于打RPG游戏的升级.整理这篇文章的动机是两个问题: 问题一: 使用Windows记事本的" ...
- UTF—8与UTF—8(无bom)格式
BOM--Byte Order Mark,就是字节序标记 在UCS 编码中有一个叫做"ZERO WIDTH NO-BREAK SPACE"的字符,它的编码是FEFF.而FFFE在U ...
- javascript / DOM、BOM、document、window 区别和联系
作者:Vkki 链接:https://www.zhihu.com/question/33453164/answer/56549408 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转 ...
最新文章
- 最新功能 | 飞书推出“线上办公室”功能,助力企业开启无压力远程实时高效协作
- 报错解决:InvalidArgumentError: Can not squeeze dim[1], expected a dimension of 1, got
- python详细安装教程环境配置-python环境安装详细步骤
- C语言基础排序算法-冒泡排序
- Shiro框架:授权流程、授权方式、Shiro授权入门程序、自定义Realm进行授权
- Weekly Challenges - Week 11
- Java Spring Beans.xml里的Bean定义是如何被解析出来的
- Jenkins的配置及使用
- 《Java虚拟机规范》阅读(二):编译
- 杂志社的电子邮件地址
- 给你 2021 最酷网页设计指南!
- Facebook广告收费出价方式之cpi
- 54_集合类库(上)
- 统计推断—假设检验(hypothesis testing)
- Allegro中切割/挖空铜皮步骤 及 该功能无法正常使用时的解决方案
- 神经网络滤镜是啥功能,神经网络滤镜不能用
- Jboot框架的使用
- 计算机病毒装逼桌面,3个Win10神秘装逼小技巧
- RBF(径向基)网络
- day16-简单网页数据爬取
热门文章
- 独立开发变现周刊(第82期):开发一个在线PDF编辑器,年收入50万美元
- 山东省初中计算机考试分数段,山东中考等级录取
- linux服务器的启停,【linux】启停各种服务的命令
- bulk插入 es_ElasticSearch的Bulk操作 ES bulk详解
- Nero Platinum Suite 2023 白金套装DVD刻录软件 -您强大的无忧包
- C# 微信支付教程系列之扫码支付
- python爬虫实验——爬取网页图片+网页源代码
- javascript弹出窗口代码大全(转)
- 行业专网对比公网,优势在哪儿?能满足什么特定要求?
- uid 生成器(数据区主键)