zoukankan      html  css  js  c++  java
  • 关于Encode in UTF-8 without BOM

    定义
    BOM(Byte Order Mark),字节顺序标记,出现在文本文件头部,Unicode编码标准中用于标识文件是采用哪种格式的编码。它的编码是FEFF。

    说明

    在 UTF-8 文件中放置 BOM 主要是微软的习惯

    UTF-8 不需要 BOM,尽管 Unicode 标准允许在 UTF-8 中使用 BOM。但不含 BOM 的 UTF-8 才是标准形式。UTF-8 的网页代码不应使用 BOM,否则常常会出错。

    为什么BOM不受欢迎

    主要问题出在UNIX那个所有脚本语言通行的首行#!标示,这东西依赖于shell解析,而很多shell出于兼容的考虑不检测BOM,所以加进BOM时shell会把它解释为某个普通字符输入导致解释失败。其实很多现代脚本语言,比如Python,其解释器本身都是能处理BOM的,但是shell卡在这里,没办法,只能躺着也中枪。说起来这也不能怪shell,因为BOM本身违反了一个UNIX设计的常见原则,就是文档中存在的数据必须可见。BOM不能作为可见字符被文本编辑器编辑,就这一条很多UNIX开发者就不满意。

    Windows 记事本有个毛病就是在 UTF-8 文件开头加 BOM,所以在windows环境下千万不要用记事本来编辑UTF-8文件。

    解决办法:可以用NotePad++ 或者 其它文本编辑软件转储为UTF-8 without BOM 格式

  • 相关阅读:
    常用正则表达式应用
    iOS 通知推送APNS
    IOS生活圈开发练习记录
    [转]定时器
    JavaScript如何在webView跳转到指点的位置
    用imageNamed加载图片产生的问题
    如何再分类中添加属性
    CADisplayLink定时器
    自定义UIBtton类后,在@implementation重写方法的作用
    CAAnimationGroup(组合动画)创建
  • 原文地址:https://www.cnblogs.com/jddreams/p/9908714.html
Copyright © 2011-2022 走看看