BOM 标记】的更多相关文章

1.去掉BOM标记: :set nobomb 2.加上BOM标记: :set bomb 3.查询当前UTF-8编码的文件是否有BOM标记: :set bomb? 4.更高级一点的: :%!xxd "以16进制模式打开文件:%!xxd -r "将以16进制格式打开的文件返回文本模式编辑 所以,先用第一个命令将文件以16进制打开,删除文件开头的EF  BB  BF,然后再用第二个命令返回文本模式.…
BOM 是 Byte Order Mark 的简称,即字节序标记.用于标记文本流: 表示文本流的字节顺序,是小端序(little-endian)还是大端序(big-endian); 表示文本流是 Unicode 字符: 表示文本流的编码方式. 几种编码方式的 BOM 值: UTF-8:0xEFBBBF UTF-16(BE):0xFEFF UTF-16(LE):0xFFFE UTF-32(BE):0x0000FEFF UTF-32(LE):0xFFFE0000 .NET 中的字符串内部表示统一是…
微软的自带记事本程序notepad.exe会给UTF-8编码的文件头加入三个隐藏的字节(即BOM).这是一种很愚蠢的做法.就是为了让编辑器不去猜测文件本身是ASCII码还是UTF-8. 什么是BOM BOM(byte-order mark),即字节顺序标记,它是插入到以UTF-8.UTF16或UTF-32编码Unicode文件开头的特殊标记,用来识别Unicode文件的编码类型.对于UTF-8来说,BOM并不是必须的,因为BOM用来标记多字节编码文件的编码类型和字节顺序(big-endian或l…
http://stackoverflow.com/questions/1068650/using-awk-to-remove-the-byte-order-mark http://thegreyblog.blogspot.com/2010/09/shell-script-to-find-and-remove-bom.html…
1.文本流设置unicode小端模式 2.写入文本前两个字节FF FE 3.字符串转成unicode编码 QList<QByteArray> list = QTextCodec::availableCodecs(); //可以获取Qt支持的编码,下面列出字符串的几种编码名称 //GBK GB2312 //unicode 小端 //UTF-8 //UnicodeLitteUnmarked 小端 //UnicodeBigUnmarked 大端 #include <QApplication&g…
废话不多说,还是先说点吧,项目中lua读取的text文件如果有BOM,客户端解析就会报错,所以我看了看,任务编辑器swGameTaskEditor 在写入文件的时候,也不知道为什么有的文件就是UTF-8BOM格式:但一般都是 UTF-8 无BOM的. 还是从lua改起来吧.搜了一搜,没搜索到直接可以使用的代码. 本来想用 string.gsub(mainString,findString,replaceString,num) 来替换\xEFBBBF为空.不过 \xEFBBBF 这种表示方法,lu…
ANSI(American National Standards Institute,美国国家标准学会)ANSI编码标准是指所有从基本ASCII码基础上发展起来的编码标准,比如扩展的ASCII码(128~255占用).GB2312.GBK.GB18030.BIG5等.每种编码在ANSI标准中都为一页,比如encoding.gb2312页代表GB2312字符集编码ASCII(American Standard Code for Information Interchange,美国信息交换标准码)码…
最近,在用file_get_contents函数来取得文本的内容的时候,出现了一个情况(如下),苦思冥想了n久,不得其解,最后,果然还是得靠百度啊..... 百度到一个解释,下面是原文: PHP5中的file_get_contents函数获取文件内容,实际是按二进制来读取的,所以,当你用file_get_contents去获取一个带BOM的UTF-8文件时,它并不会把UTF-8的BOM去掉,当你把读取的内容当作文本内容来进行一些操作时,可能会发生一些意想不到的结果.这并不能算作一个BUG,因为f…
通常只有在windows的notepad中 , 创建文本文件, 保存为UTF-8 时, 它会自动添加3个字节: ef bb bf. 用editplus来看txt文件就可以看得很清楚. 但是, 只有windows才会做这个事情, bom标记. 它会在 用记事本编写的html文件中, 在保存为UTF-8时, 就会在 文件前面加上 ef bb bf三个字节. 它会把它作为utf-8编码的识别标志. 当用 notepad打开这个文件的时候, 检测到文件头有 ef bb bf字节时, 就会认为该文件是ut…
我是在java中做的相关测试, 首先粘贴下报错: 读取xml配置文件:xmls\property.xml org.dom4j.DocumentException: Error on line 1 of document : 前言中不允许有内容. Nested exception: 前言中不允许有内容. at org.dom4j.io.SAXReader.read(SAXReader.java:482) at org.dom4j.io.SAXReader.read(SAXReader.java:3…
目录 一些预备知识: 在中国windows的编码是本地编码 , 即GBK,GB2312,GB18030等 GBK  也就是windows-986 Windows现在只支持Unicode (UTF-16),不再支持ANSI(因为各国家地区标准不统一,导致转换不便) android系统中的编码,根据不同地区法律改变? ASCIl的时候, 还不区分字符集和编码. 字符集(char set)就是字符的集合,收录了一定数量的字符.每个字符有对应的ID值,叫码点(code point).实际存储的时候,不一…
Visual Studio (中文版)默认保存的文本文件是GB2312编码(代码页936)的,默认的行尾(End of line)是CRLF的. 如果仅仅是在windows下开发问题也不大,但是涉及到跨平台开发的时候,就不是很满意了. VS本身的 文件 -> 高级保存选项 中是可以选择保存的编码和行尾的,但是不支持为默认的. 还有一个问题是cl编译的时候,对utf-8格式支持不好(需要添加/source-charset:utf-8选项,默认是当作本地字符集的),对于带BOM标记的文件则没有问题.…
1.下载源码 git clone https://github.com/alibaba/AliSQL.git Linux下编译 2.编译 编译前需要安装好gcc cmake bison等.(如果缺少其他依赖,debian系的可以使用sudo apt-get build-dep mysql-server快速安装) cd AliSQL # 创建并进入构建目录 make build_linux && cd build_linux # 生成 makefile cmake -DCMAKE_INSTA…
vim有三种模式:输入模式,命令模式,底行模式,使用esc进入命令模式,在命令模式下按英文的冒号,进入底行模式:命令行模式下按i进入输入模式.vim编辑文件是将文件内容复制到缓冲区显示在屏幕上. vim的启动 输入vim命令后,便进入全屏幕编辑环境,此时的状态为命令模式. vim            进入vim的一个临时缓冲区,光标定位在该缓冲区第1行第1列的位置上 vim file1        如果file1文件不存在,将建立此文件:如该文件存在,则将其拷贝到一个临时缓冲区.光标定位在该…
转载地址:http://www.imkevinyang.com/2010/06/%E5%85%B3%E4%BA%8E%E5%AD%97%E7%AC%A6%E7%BC%96%E7%A0%81%EF%BC%8C%E4%BD%A0%E6%89%80%E9%9C%80%E8%A6%81%E7%9F%A5%E9%81%93%E7%9A%84.html 字符编码的问题看似很小,经常被技术人员忽视,但是很容易导致一些莫名其妙的问题.这里总结了一下字符编码的一些普及性的知识,希望对大家有所帮助. 还是得从ASC…
今天在使用FusionCharts制作报表时用XML导入数据,总是出现乱码问题,下面是我的解决方案. 让FusionCharts支持中文 刚刚将XML导入到html中后,在火狐浏览器一直报Invalid XML data 的错误,而用360浏览器进行访问时一直出现乱码的问题.于是便修改XML文件.官方说当Data.xml文件缺乏BOM标记(Byte Order Mark). 首先去官方下载UItraEdit文件编辑器,然后用编辑器将XML文件打开,修改里面的编码为UTF-8,然后另存为的时候选择…
继昨天的经验贴,今天的工作又收获不少. windows下编辑器会给文件添加BOM 在windows的编辑器中,为了区分编码,通常会添加一个BOM标记.比如,记事本.nodepade++.sublimeText都会出现这个问题.如果使用filereader去读,就会发现第一行出现了乱码: 123 查看其bytes可以发现为: [-17] [-69] [-65] [49] [50] [51] 此时,可以使用编辑器比如nodepad++,点击encoding,设置为encode with utf…
一.<1>StreamReader类共有10个构造函数 StreamReader (Stream)    //  为指定的流初始化 StreamReader 类的新实例. FileStream fs = new FileStream(@"D:\Readme.txt",FileMode.Open); StreamReader sr = new StreamReader(fs); StreamReader (String)     //  为指定的文件名初始化 StreamRe…
原文关于读取pm25.in气象数据的pyhton方法,以及浅析python json的应用 以pm25.in网站数据为例. 1.方法介绍 首先感谢pm25.in提供了优质的空气污染数据,为他们的辛勤劳动点个赞.是python3.3,windows系统,读取数据的时候用到了python的json处理的4个方法,很经典常用.所谓4个方法是: a)       json.loads() 输入string,返回json. b)       json.dumps() 输入json类型的数据,返回包含jso…
在Linux中查看文件编码可以通过vim编辑器来查看,在vim命令模式下输入如下命令即可: :set fileencoding //在vim中查看文件编码 如果你只是想查看其它编码格式的文件或者想解决用vim查看文件乱码的问题,那么你可以在~/.vimrc 文件中添加以下内容: set encoding=utf- fileencodings=ucs-bom,utf-,cp936 //在~/.vimrc配置文件中加入 这样就可以让vim自动识别文件编码(可以自动识别UTF-8或者GBK编码的文件)…
Linux下将UTF8编码批量转换成GB2312编码的方法 在sqlplus中导入UTF8编码的sql脚本就会出现乱码错误,这时就需要将UTF8编码转换成GB2312编码,下面为大家介绍下在Linux下如何进行转换   UTF8编码和GB2312编码是有区别的,在sqlplus中导入UTF8编码的sql脚本就会出现乱码错误,这时就需要将UTF8编码转换 成GB2312编码,可是一个个的转换十分麻烦,下面小编就教你如何在Linux下将UTF8编码批量转换成GB2312编码. 背景 本人在使用ora…
目录 1.概述 2.ASCII编码 3.历史问题 4.Unicode 4-1.Unicode 编码方案 4-2.关于bom 5.UTF-8 6.UTF-16 1.概述 对于ASCII编码,相信同学们都比较了解,那么对于Unicode.UTF-8和UTF-16,它们是怎么编码的呢?以及它们之间的关系是什么呢?它们与ASCII之间又有什么关系? 本文就来回答这两个问题. 2.ASCII编码 在学校学 C 语言的时候,了解到一些计算机内部的机制,知道所有的信息最终都表示为一个二进制的字符串,每一个二进…
StreamReader/StreamWriter操作的是字符数据(char),而FileStream操作的是字节数据(byte) FileStream与StreamXXXX类的默认编码都是UTF8,而一个中文字符占2个字符,所以StreamXXXX类常用于文本的打开与保存,而FileStream则用于数据的传输. StreamReader sw = new StreamReader(Stream stream); StreamReader sw = new StreamReader(strin…
查看php 类的详情:方法.常量.属性( type(new \Illuminate\Http\Request());) /** * fixme 打印类详情 * @param $class object 对象 */ function type($class){ $ref = new \ReflectionClass($class); $br = '<br>'; $consts = $ref->getConstants(); //返回所有常量名和值 echo "----------…
字符编码的问题看似很小,经常被技术人员忽视,但是很容易导致一些莫名其妙的问题.这里总结了一下字符编码的一些普及性的知识,希望对大家有所帮助. 还是得从ASCII码说起 说到字符编码,不得不说ASCII码的简史.计算机一开始发明的时候是用来解决数字计算的问题,后来人们发现,计算机还可以做更多的事,例如文本处理.但由于计算机只识“数”,因此人们必须告诉计算机哪个数字来代表哪个特定字符,例如65代表字母‘A’,66代表字母‘B’,以此类推.但是计算机之间字符-数字的对应关系必须得一致,否则就会造成同一…
目录 Python2.7字符编码详解 声明 一. 字符编码基础 1.1 抽象字符清单(ACR) 1.2 已编码字符集(CCS) 1.3 字符编码格式(CEF) 1.3.1 ASCII(初创) 1.3.2 MBCS/DBCS/ANSI(本地化) 1.3.3 Unicode(国际化) 1.4 字符编码方案(CES) 1.5 中文字符乱码(Mojibake) 1.5.1 未指定编码格式 1.5.2 错误指定编码格式 1.5.3 过度指定编码格式 1.5.4 解决方案 二. Python2.7字符编码…
GB2312(1980年)定义,包含6763个汉字,682个字符 GBK1.0 定义了21003个汉字,21886个字符 ASCII->GB2312->GBK 编码方式向后兼容,即同一个字符在这些编码方案中总是有相同的编码,只是越到后面支持的字符更多 区分中文编码的方法是高字节的最高位不为0(@todo),两个字节的最高位都是1 GB2312,GBK都属于双字节字符集 GB18030(2000年)取代GBK1.0成为正式的国家标准,定义了27484个汉字.编码采用单字节,双字节,四字节(四字节…
简介 1.这段代码只考虑在小端序情况下的转换(一般的机器都是的). 2.这段代码需要C++11的支持(只是用到了u16string),如果不支持,可以添加下面代码 typedef uint16_t char16_t; typedef std::basic_string<char16_t> utfconvert.h #ifndef __UTFCONVERT_H__ #define __UTFCONVERT_H__ #include <string> // 从UTF16编码字符串构建,…
在使用Visual Studio 2005进行MFC开发的时候,发现自动添加的注释变成了乱码.像这样: // TODO: ÔÚ´ËÌí¼ÓרÓôúÂëºÍ/»òµ÷ÓûùÀà 还有这样: // TODO: ÔÚ´ËÌí¼ÓÏûÏ¢´¦Àí³ÌÐò´úÂëºÍ/»òµ÷ÓÃĬÈÏÖµ 它们正确的显示应该是 // TODO: 在此添加专用代码和/或调用基类 和 // TODO: 在此添加消息处理程序代码和/或调用默认值 当保存的时候,还出现了这样的对话框: 网上找了各种教程,包括什么设置“自…
本章参考资料:<STM32F76xxx参考手册>.<STM32F7xx规格书>.库帮助文档<STM32F779xx_User_Manual.chm>. 关于开发板配套的液晶屏参数可查阅<5.0寸液晶屏数据手册>(或7.0寸数据手册)配套资料获知.本教程讲解时主要使用5寸屏来说明,对于我 们配套的7寸屏,使用原理及配置参数完全一致(该7寸屏与5寸屏都是800x480的分辨率,仅尺寸不一样). 在前面我们学习了如何使用LTDC外设控制液晶屏并用它显示各种图形,本…