微软为什么用带 BOM 的 UTF-8,刻意制造和多数系统的不兼容?

Mac 和linux都是不带bom的
关注者
473
被浏览
62,515

35 个回答

@vczh

too yang 啊。如果经常去csdn答题就知道:

现在经常会遇到这么一种人,他们在某些领域一窍不通,但是他们不愿意诚恳询问,而是故意一本正经的胡说八道一通,比如“1+1=2是小学生都知道的,还需要那么多数学家研究几百年?”,目的就是故意引人反驳。

然后就会有大牛出来一句句的跟他仔细解释,到底是个什么概念。但是他非但不会感谢,反而会继续胡搅蛮缠。最后的结果呢?大牛被气的不轻,他倒是学会了不少知识(虽然可能只是半瓶水),还给旁观者留下这个人很厉害,懂得真多,大牛都差点说不过他的印象。

哦,对了,这种人还喜欢不断地编辑问题,把别人教会他的东西一点点编辑到最初的问题当中去。新来的人就会觉得“题主说的没错啊,很详细啊”

UTF本来作为一种纸上谈兵的规范,没有具体实现。微软是第一个支持并实现的,但是为了区分文件头信息,增加了自己定义的BOM。

*INX们也觉得UTF是好东西,应该支持,但是作为对当时的邪恶轴心微软的警惕,大家秉承的宗旨是,凡是微软的,我们都要反对。UTF是开放的公约,可以支持,BOM是微软定义的规范,那绝对不能支持。

这个做法其实也很正常,万一你支持了BOM,而微软申请了专利,那就完蛋了,随时掏授权费,不然会被控告。看看oracle怎么拿几行代码向google索赔96亿美金就知道了。

后来微软被google超越,被apple逆袭,又搞出nokia这档子傻事以后,大家发现这个外表凶恶的中年大叔原来也有蠢萌的一面,才观感大改。微软也适时的通过开源,小娜这些方式出来卖萌,现在大家也就其乐融融,再也不提他垄断市场的事了。

当年web爆红,google兴起的时候,硅谷有句名言,微软越来越像IBM,而google越来越像微软。现在大家都洗白上岸的时候,oracle下定决心,要与全世界为敌,喜滋滋的接过了邪恶轴心宝座。

====

题目怎么改了。。。如何支持无BOM的很简单,带了BOM的文件直接把文件头3个字节去掉就可以了。主流的编辑器都加入了支持,一般文件另存为,或者设置项里找一下就有了。