如图所示,发现用C#的 File.WriteAllLines 方法,无论怎么设置,最终生成的文件都是 PC utf8,也就是CRLF,用SVN进行提交的时候,显示左侧为utf8,右侧为utf8 BOM文件,甚是蛋疼。

最后的解决方法:

File.WriteAllText(strLuaFilePath, string.Join("\n", fileContentList.ToArray()), new System.Text.UTF8Encoding(false));

稍微普及一下常见的文件编码格式,以utf8、BOM为例

BOM 在文件头三位插入了“EF BB BF“

同样是Utf8,在Windows、Unix、Mac下却并不相同(回车CR ASCII码 13 — \r,换行 LF ASCII码 10 — \n,所以 CRLF — \0xD \0xA)。

平台

行尾结束符

Windows

CRLF —— \0xD \0xA,使用 回车 + 换行

Unix

LF —— \0xA,表示句尾,只使用换行

Mac

CR —— \0xD,只使用回车

CR —— Carriage-Return 回车(ASCII 13 \r)

LF —— Line-Feed 换行(ASCII 10 \n)

Visual Studio好像默认就是带BOM的,通常我们约定提交的*.cs文件全部是无BOM的utf8文件。

C#保存文件为无BOM的utf8格式相关推荐

  1. python将字符串写入txt文件_python将字符串以utf-8格式保存在txt文件中的方法

    python将字符串以utf-8格式保存在txt文件中的方法 如下所示: #ltp_data 字符串 写进777.txt 1. def save(filename, contents): fh = o ...

  2. c#实现将Excel文件导出为csv和UTF8格式的txt文件

    工作中为了方便,经常使用excel表进行编辑,然后转换为程序用的csv和txt文件. 用c#做了个小工具,生成的exe文件放到需要转换的excel文件目录,可以实在自动读取该目录下的所有xlsx文件, ...

  3. linux使用rsync增量保存文件与无交互自动传输

    使用rsync命令 参数可以参考:https://blog.csdn.net/m0_37886429/article/details/77285738 rsync -avzu --progress 本 ...

  4. Visual Studio 2017 UTF-8 无 BOM 一站式解决办法

    问题背景:最近捡起C++,使用VS 2017平台.因为以前的编程习惯,喜欢使用UTF-8 无 BOM 的编码格式,好让自己的代码全球通用.但是VS 2017 对这个问题不是很友善.但最终找到了解决办法 ...

  5. Java读带有BOM的UTF-8文件乱码原因及解决方法(转)

    转载:http://www.linuxidc.com/Linux/2012-12/76707.htm 最近在处理文件时发现了同样类型的文件使用的编码可能是不同的.所以想将文件的格式统一一下(因为UTF ...

  6. Java读取UTF-8格式txt文件第一行出现乱码及解决;Java读带有BOM的UTF-8文件乱码原因及解决方法(转载)...

    原文地址:http://blog.csdn.net/jackpk/article/details/5702964/ Java读取UTF-8的txt文件第一行出现乱码"?"及解决 t ...

  7. Java读带有BOM的UTF-8文件乱码原因及解决方法

    Java读带有BOM的UTF-8文件乱码原因及解决方法 Java读带有BOM的UTF-8文件乱码原因及解决方法 - daimojingdeyu - ITeye技术网站 Java读带有BOM的UTF-8 ...

  8. JAVA输出带BOM的UTF-8编码的文件

    https://blog.csdn.net/comeonyangzi/article/details/81708134 当从http 的response输出CSV文件的时候,设置为utf8的时候默认是 ...

  9. QT与VS环境下代码文件编码格式使用utf-8与带BOM的utf-8的差异

    QT与VS环境下代码文件编码格式使用utf-8与带BOM的utf-8的差异 使用QT进行开发的时候,有时候通常会遇到使用中文的时候,就算格式为utf-8,也会出现编译错误的问题,一般无从下手,这几天看 ...

最新文章

  1. InnoDB purge原理--哪些undo log可purge
  2. CodeSmith实用技巧(十五):使用快捷键
  3. PAT-乙级-1020. 月饼 (25)
  4. django-中间件
  5. 《 双城记 》:无数的平民拥有的只是和她同样的眼睛 ...
  6. Cookie,Session解决用户的会话跟踪问题
  7. 服务器迁移虚拟化实施方案,虚拟化实施方案
  8. Linux的yum命令及基本用法
  9. 流媒体服务器架设(转载)
  10. flash 倒计时功能
  11. asp毕业设计——基于asp+access的工资管理系统设计与实现(毕业论文+程序源码)——工资管理系统
  12. nmos导通流向_MOS管知识详细说明!结构,原理,技术参数详解,一定要进来看下...
  13. Firefox无法打开VMWare console的解决方案
  14. 编程中,有哪些好的习惯一开始就值得坚持?
  15. 人工智能论文-人工智能技术在新冠病毒肺炎疫情防控中的应用
  16. android清单文件的作用,Android 清单文件
  17. Mysql优化(一)—Sql语句
  18. 双指数边缘平滑滤波器用于磨皮算法的尝试。
  19. 将英文输入变成手写体的在线工具
  20. 24 点游戏(Leetcode-679)-回溯法

热门文章

  1. 如何使用拦截器获取Controller方法名和注解信息?
  2. 为什么国内流行的 MyBatis ,国外 Java 工程师却不愿意使用?
  3. 你知道Spring Boot项目是怎么启动的吗?
  4. 在吗?认识一下JWT(JSON Web Token) ?
  5. Spring Boot注解大全,一键收藏了!
  6. 阿里规范不建议多表join,可这SQL要怎么写啊?
  7. CPU 的一些基本知识总结
  8. 一文讲解特征工程 | 经典外文PPT及中文解析
  9. 阿里公开招募鉴黄师,日薪1000元,还送硬盘和网盘会员?!
  10. Python 代码转 Latex 公式,这个开源库用一行代码帮你搞定