当前位置: 首页 > news >正文

System.IO.StreamWriter写UTF-8文件取消写入BOM

原文参考http://www.19870202.com/?tid=381

 

Q: What is a BOM?

A: UTF-8 编码的文件可以分为no BOM 和 BOM两种格式。
何谓BOM? "EF BB BF" 这三个字节就叫BOM,BOM的全称叫做"Byte Order Mard".在utf-8文件中常用BOM来表明这个文件是UTF-8文件,而BOM的本意实在utf16中用来表示高低字节序列的。
在字节流之前有BOM表示采用低字节序列(低字节在前面),而utf8不用考虑字节序列,所以其实有无BOM都可以。

 

UTF8Encoding.GetPreamble方法:

 

ContractedBlock.gif ExpandedBlockStart.gif Code
1 public override byte[] GetPreamble()
2 {
3     if (this.emitUTF8Identifier)
4     {
5         return new byte[] { 0xef0xbb0xbf };
6     }
7     return Encoding.emptyByteArray;
8 }


用以下方法就可以去掉BOM签名

ContractedBlock.gif ExpandedBlockStart.gif Code
System.Text.UTF8Encoding utf8 = new System.Text.UTF8Encoding(false);
StreamWriter stream 
= new StreamWriter(Server.MapPath("normren.html"), false,utf8);
stream.Write(
"Content");
stream.Close();

 

 

转载于:https://www.cnblogs.com/normren/archive/2008/08/28/asp-net-utf8-bom.html

相关文章:

  • asp.net core MVC 控制器,接收参数,数据绑定
  • Web站点风格切换的实现
  • 对类的理解(c++)
  • JS实现购物车01
  • 重装Linux也不用重新配置的方法
  • AJAX发送 PUT和DELETE请求参数传递注意点,了解一下
  • GPS实时跟踪程序模拟
  • CNN卷积减少参数个数的理解(分为全连接到CNN三个层级)
  • 数据结构-算法: 分配排序(箱分配排序)
  • Vue 中循环绑定v-module表单
  • 值得记念的一刻
  • DirectX11--HR宏关于dxerr库的替代方案
  • Oracle 存储过程
  • WPF 判断调用方法堆栈
  • (转)scrum常见工具列表
  • 【391天】每日项目总结系列128(2018.03.03)
  • 【Amaple教程】5. 插件
  • 30秒的PHP代码片段(1)数组 - Array
  • angular学习第一篇-----环境搭建
  • CSS实用技巧干货
  • ES学习笔记(12)--Symbol
  • iOS小技巧之UIImagePickerController实现头像选择
  • mysql 5.6 原生Online DDL解析
  • webpack项目中使用grunt监听文件变动自动打包编译
  • Zsh 开发指南(第十四篇 文件读写)
  • 程序员该如何有效的找工作?
  • 码农张的Bug人生 - 初来乍到
  • 扫描识别控件Dynamic Web TWAIN v12.2发布,改进SSL证书
  • 数据可视化之 Sankey 桑基图的实现
  • 写给高年级小学生看的《Bash 指南》
  • 怎么将电脑中的声音录制成WAV格式
  • 智能合约开发环境搭建及Hello World合约
  • Nginx实现动静分离
  • ​LeetCode解法汇总307. 区域和检索 - 数组可修改
  • #QT(串口助手-界面)
  • #Z0458. 树的中心2
  • (10)Linux冯诺依曼结构操作系统的再次理解
  • (4)Elastix图像配准:3D图像
  • (C语言)求出1,2,5三个数不同个数组合为100的组合个数
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第5节(封闭类和Final方法)
  • (附源码)ssm旅游企业财务管理系统 毕业设计 102100
  • (强烈推荐)移动端音视频从零到上手(上)
  • (十)T检验-第一部分
  • (十八)devops持续集成开发——使用docker安装部署jenkins流水线服务
  • (一)80c52学习之旅-起始篇
  • (一)为什么要选择C++
  • (原創) 如何讓IE7按第二次Ctrl + Tab時,回到原來的索引標籤? (Web) (IE) (OS) (Windows)...
  • ***利用Ms05002溢出找“肉鸡
  • .apk 成为历史!
  • .NET 6 在已知拓扑路径的情况下使用 Dijkstra,A*算法搜索最短路径
  • .NET Micro Framework初体验(二)
  • .Net Winform开发笔记(一)
  • .net6解除文件上传限制。Multipart body length limit 16384 exceeded
  • .net连接oracle数据库
  • .NET中的十进制浮点类型,徐汇区网站设计