双子过客

关于txt文档生成时的编码方式utf-8带不带BOM

电脑版发表于:2022/4/28 16:12
  • txt文档常见编码方式

    1.GB3212

    2.GBK

    3.UTF-8

    (-)其中最常见的就是utf-8 几乎耳濡目染 但是utf-8还有一种就是带bom的utf-8

    你可以新建一个txt文档,随便写点内容,然后点击文件保存为,就可以清楚的看见utf-8的两个不同的选项




具体差别简单说就是解析数据的时候前缀不一样,开始有三个字节有差别,可以百度查一下两者之间的差距
OK,代码时刻

//具体导包点一下就好了
StreamWriter sw = new StreamWriter("路径"+ "文件名".txt", true, Encoding.GetEncoding("UTF-8"));
sw.Write("文件内容");
sw.Flush();
sw.Close();
//这个时候生成的txt文件的编码方式:虽然我们在这里写的是UTF-8 但实际是带BOM的UTF-8
//如果解析txt的软件或者什么,按照的是纯UTF-8的编码方式解析的话就会出现数据的格式冲突之类的冲突
//对 格式冲突之类的冲突,因为带BOM的UTF_8被解析出来的数据和纯UTF-8解析出来的数据长度不一样,至少开头的不一样,所以就会出现格式冲突
//当然,如果解析文件的编码方式刚好就是带BOM的UTF-8那是肯定没问题的

ok 带BOM的UTF-8说完了该纯UTF-8了

 System.Text.UTF8Encoding utf8 = new System.Text.UTF8Encoding(false);
  File.WriteAllText("路径"+"文件名".txt", "存储的数据", utf8);
  //第一句主要就是给UTF-8加一个规则,照搬拿来用就行
  //现在生成的txt文件编码方式就是纯UTF-8

本章内容到此就结束了
很多软件或者什么都是支持两种编码方式的解析的,但同时也有很多软件不具备这种兼容性功能,
对你有帮助自然是好,没帮助就当get到一个奇奇怪怪的知识吧 Wink。。

关于TNBLOG
TNBLOG,技术分享。技术交流:群号677373950
ICP备案 :渝ICP备18016597号-1
App store Android
精彩评论
{{item.replyName}}
{{item.content}}
{{item.time}}
{{subpj.replyName}}
@{{subpj.beReplyName}}{{subpj.content}}
{{subpj.time}}
猜你喜欢