生成txt文件去掉BOM

xmhxjjq 2012-06-27 01:23:00
RT:
代码生成txt文件 但是要去掉前面的bom 不然程序不识别。。 能帮忙的THANKS
...全文
859 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
y244360439 2013-08-21
  • 打赏
  • 举报
回复
还可以用php程序检测移除BOM文件 http://www.ibihuo.com/show-59.html
winner2050 2012-06-27
  • 打赏
  • 举报
回复
有 bom 才方便文件编辑器识别是否utf-8啊。
鸭梨山大帝 2012-06-27
  • 打赏
  • 举报
回复
楼主这一楼的描述跟你的问题,完全没搭边.所以不知道如何回答了.
因为不了解事情的大概,不懂为什么叫硬解决,仅仅只是应急之策.
希望楼主下次提问前,将问题的大概描述清晰,避免大家答的时候一直在猜题.

[Quote=引用 8 楼 的回复:]

。。。
C/S交互设置的格式是utf-8 因为原来旧版本的内容需要进行兼容 所以无法修改编码格式

如果用remove的话。 这个只是一个硬解决的方式。 虽然可以解决掉。但是只是应急之策。
[/Quote]
xmhxjjq 2012-06-27
  • 打赏
  • 举报
回复
····没有人知道么。。。
xmhxjjq 2012-06-27
  • 打赏
  • 举报
回复
。。。
C/S交互设置的格式是utf-8 因为原来旧版本的内容需要进行兼容 所以无法修改编码格式

如果用remove的话。 这个只是一个硬解决的方式。 虽然可以解决掉。但是只是应急之策。
鸭梨山大帝 2012-06-27
  • 打赏
  • 举报
回复
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.
kunkun0921 2012-06-27
  • 打赏
  • 举报
回复
第一,
生成txt文件的时候,可以指定编码格式,不使用utf-8的,也许就没有bom这个字符串了
第二,
读取出txt文件里面的内容,remove掉开头的bom字符串
xmhxjjq 2012-06-27
  • 打赏
  • 举报
回复
····不是文件名前面的BOM。。

而是说。 代码生成txt文件并且将编码格式设置为utf-8

他会自动在第一个字符前面产生一个被称作bom的标识。 用来标记这个txt文档是utf-8语言。。
二当家 2012-06-27
  • 打赏
  • 举报
回复
前面的BOM是什么?
kunkun0921 2012-06-27
  • 打赏
  • 举报
回复
文件名前面的bom吗?

string a = "bomabcd.txt";//文件名
string b = string.Empty;
if (a.StartsWith("bom"))
{
b = a.Remove(0, 3);
}
System.IO.File.Move(a, b);//移动文件
xmhxjjq 2012-06-27
  • 打赏
  • 举报
回复
····求大神回复下- - 又沉下去了。 求帮顶- - 。。。
xmhxjjq 2012-06-27
  • 打赏
  • 举报
回复
- - 难道都没人回复么。。。。 不要沉啊。。。

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧