当前位置: 代码迷 >> ASP.NET >> 生成txt资料去掉BOM
  详细解决方案

生成txt资料去掉BOM

热度:6268   发布时间:2013-02-25 00:00:00.0
生成txt文件去掉BOM
RT:
代码生成txt文件 但是要去掉前面的bom 不然程序不识别。。 能帮忙的THANKS

------解决方案--------------------------------------------------------
文件名前面的bom吗? 
C# code
string a = "bomabcd.txt";//文件名            string b = string.Empty;            if (a.StartsWith("bom"))            {                b = a.Remove(0, 3);            }            System.IO.File.Move(a, b);//移动文件
------解决方案--------------------------------------------------------
BOM是Byte order mark 是用来标记文本编码的标记.

如果要移除,很简单的.只是需要判断到底是要移除两位还是三位

因为UTF-8 / UTF-16的BOM长度不一样,参考 http://en.wikipedia.org/wiki/Byte_order_mark

使用binaryReader读取文档的前几个字节(根据UTF-8 / UTF-16的BOM长度不一样),然后判断是否匹配对应的BOM,如果对应,直接移除就OK.
------解决方案--------------------------------------------------------
有 bom 才方便文件编辑器识别是否utf-8啊。
  相关解决方案