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啊。