C#怎么判断一个文件的编码格式是UTF-8 without BOM的啊
2016-08-14 19:46
2176 查看
文本文件的开头头三个字节存放编码格式,这三个字节就叫做 BOM。
当头部开始的两个字节为 0xff 0xfe 0x41 时,是Unicode的小尾编码;
当头部的两个字节为 0xfe 0xff 0x00 时,是Unicode的大尾编码;
当头部两个字节为 0xef 0xbb 0xbf 时,是Unicode的UTF-8编码;
当它不为这些时,则是ANSI编码。
判断是ANSI还是无BOM的UTF-8还得多一步,
http://blog.csdn.net/ybhjx/article/details/52205831
当头部开始的两个字节为 0xff 0xfe 0x41 时,是Unicode的小尾编码;
当头部的两个字节为 0xfe 0xff 0x00 时,是Unicode的大尾编码;
当头部两个字节为 0xef 0xbb 0xbf 时,是Unicode的UTF-8编码;
当它不为这些时,则是ANSI编码。
判断是ANSI还是无BOM的UTF-8还得多一步,
http://blog.csdn.net/ybhjx/article/details/52205831
C#写文件时指定是否有BOM: 1)下面的代码是UTF-8 without BOM: var utf8WithoutBom = new System.Text.UTF8Encoding(false); using (var sink = new StreamWriter("Foobar.txt", false, utf8WithoutBom)) { sink.WriteLine("..."); } 2)下面是C#在写文件时指定BOM头的代码: var utf8WithBom = new System.Text.UTF8Encoding(true); // 用true来指定包含bom StreamWriter swr = null; try { swr = new StreamWriter("okbase.txt", false, utf8WithBom); swr.Write("hello okbase.net!"); } catch(Exception e) { } finally { if (swr != null) { swr.Close(); swr.Dispose(); } }
相关文章推荐
- 在QT中,当BOM头不存在的时候,判断一个文件是否为UTF-8编码格式
- 如何判断一个文本文件内容的编码格式 UTF-8 ? ANSI(GBK)
- 如何判断一个文本文件内容的编码格式 UTF-8 ? ANSI(GBK)
- java怎么判断一个文本是什么编码格式以及运行在doc下,javadoc注释文档
- 如何判断一个文件的编码格式是gb2312还是gbk等
- 无BOM的条件下C语言判断一个文件是否为UTF-8编码代码(windows,linux通用)
- C#上传文件图片怎么判断格式
- 怎么判断sql文件的编码格式
- eclipse中要让一个 Java 源文件打开时编码格式为 UTF-8
- 如何判断一个txt文件的编码格式
- C# 判断txt文件编码格式
- C#简单判断文件的编码格式
- C#上传文件图片怎么判断格式
- c#实现文件上传-忽略Byte编码格式
- 关于用excel打开一个utf-8格式的csv文件的问题
- 判断文件编码是否为UTF-8收藏
- ASP+FSO生成的网页文件默认编码格式以及转换成UTF-8编码方法
- C#文件上传时判断图片文件格式
- C#和JAVA文件的UTF-8格式互换
- C#中,怎么判断一个字符串包含是否不包含另一个字符串