转自:https://blog.csdn.net/fanyun_01/article/details/78378724

Qt在windows下使用VS建立的工程文件转到Linux环境下编译报出大量错误,反过来也一样,原来是编码的问题。
VS采用UTF-8 BOM格式编码,而Linux下采用UTF-8无BOM格式。BOM用来标记编码的字节顺序,但是由于编码字节顺序对于UTF-8来说无关紧要,而且Unicode标准也并不推荐使用带BOM的UTF-8编码格式。总之,由于Windows和Linux的不同,为避免使用Notepad++手动更改大量文件的繁琐,提供shell转换脚本如下:
UTF-8带BOM转UTF-8无BOM:
#!/bin/bash
#将UTF-8带BOM编码的文件转化为UTF-8无BOM格式
if [[ -z “$1” ]];then
echo ‘用法:./rmbom.sh [folder | file]’
echo ‘将UTF-8编码的文件转化为UTF-8无BOM格式’
exit 1
fi

path=$1
find $path -type f -name “*” -print | xargs -i sed -i ‘1 s/^\xef\xbb\xbf//’ {}
echo “Convert finish”

UTF-8无BOM转UTF-8带BOM:

#!/bin/bash
#将UTF-8无BOM编码的文件转化为UTF-8带BOM格式if [[ -z "$1" ]];thenecho '用法:./addbom.sh [folder | file]'echo '将UTF-8无BOM格式编码的文件转化为UTF-8带BOM'exit 1
fipath=$1
find $path -type f -name "*" -print | xargs -i sed -i '1 s/^/\xef\xbb\xbf&/' {}
echo "Convert finish"

UTF-8无BOM转UTF-8带BOM:

#!/bin/bash
#将UTF-8无BOM编码的文件转化为UTF-8带BOM格式if [[ -z "$1" ]];thenecho '用法:./addbom.sh [folder | file]'echo '将UTF-8无BOM格式编码的文件转化为UTF-8带BOM'exit 1
fipath=$1
find $path -type f -name "*" -print | xargs -i sed -i '1 s/^/\xef\xbb\xbf&/' {}
echo "Convert finish"

UTF-8带BOM格式与UTF-8无BOM格式转换相关推荐

  1. UTF—8与UTF—8(无bom)格式

    BOM--Byte Order Mark,就是字节序标记 在UCS 编码中有一个叫做"ZERO WIDTH NO-BREAK SPACE"的字符,它的编码是FEFF.而FFFE在U ...

  2. java导出ansi csv_我也太牛了,解决了浏览器中,前台导出csv格式,UTF

    ExcellentExport.js的方法,利用base64下载文件.支持chrome ,opera,firefox. 于是决定拿来为我所用! 说明一下,这个js的好处是:一句js脚本,就能前台下载, ...

  3. Notepad++中的UTF-8无BOM格式编码

    Notepad++中,关于utf-8的编码格式,有两种:以UTF-8无BOM格式编码和以UTF-8格式编码. 很容易给人一种错觉,第一反应会选择以UTF-8格式编码,感觉这种就是平时所说的UTF-8, ...

  4. C#保存文件为无BOM的utf8格式

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

  5. HTML文本应当存储为UTF-8无BOM格式!

    折腾了一下午的Bug: 一个使用Django模板系统做好的网站,在网页源代码中看不到任何异常,却在浏览器中显示多余的空行, 如上图,图为Chrome中使用开发者工具和查看源代码得到的不同结果. 原来是 ...

  6. 把后端返回带T的时间转为正常的时间格式

    把后端返回带T的时间转为正常的时间格式 yyyy-mm-dd hh:mm:ss /*** 把带T的时间转为正常的时间格式 yyyy-mm-dd hh:mm:ss* @param {String} ti ...

  7. python PIL 将带透明底png图片批量转化为jpg格式

    需求: 将带透明底png图片批量转化为jpg格式 遇到的问题: 好多帖子的方法虽然可以将png图片转化为jpg图片,但是转化后的jpg图片有问题,转化后的图片和原图差距太大 解决办法: 直接将png图 ...

  8. 如何使用LocalDateTime获得不带T的yyyy-MM-dd HH:mm:ss时间格式

    随笔记录 如何使用LocalDateTime获得不带T的yyyy-MM-dd HH:mm:ss时间格式 使用的方法比较蠢,如果有合适的方法,欢迎提出,如有错误,也欢迎指正 String time = ...

  9. php utf8(无bom),php中utf8 与utf-8 与utf8 无BOM

    utf8 与utf-8 相信很多程序员刚开始也会有这样的疑惑,如题,我也是. 其实,他们可以这样来区分. 一.在php和html中设置编码,请尽量统一写成"UTF-8",这才是标准 ...

最新文章

  1. chrome下的img.onload
  2. python gis 经纬度 库_入门-Python-GIS坐标转换
  3. DAO模式多表联查案例
  4. Elasticsearch之插件介绍及安装
  5. 国庆档43.87亿收官:《长津湖》一家独大 影视股喜忧参半
  6. es 时间字段聚合_ES聚合命令
  7. 如何实现电脑端和手机端数据传输与共享
  8. Chromium OS autotest
  9. Asp.net MVC 填充word并下载
  10. 嵌入式系统的概念,嵌入式系统的组成及特点,嵌入式系统的基本开发流程
  11. c758f52e87.html,查看源码: rainsoft_200372295849.rar_AboutFrm.dfm - VerySource
  12. 浏览器开发者模式下你不可错过的Network面板知识
  13. (转载)为什么海藻会背叛,毛豆豆不会
  14. 成功解决VMware Workstation cannot connect to the virtual machine. Make sure you have rights to run the p
  15. 各种型号西门子PLC所支持的通信协议小结
  16. 周韶宁否认退出传闻:服务器等会搬到中国
  17. tair mysql_MySQL数据库异构数据同步–后端以tair为例
  18. 关于电影主题HTM5网页设计作业成品——千与千寻在线电影(9个页面) HTML+CSS+JavaScript
  19. 计算机在工程中的应用学后感,学习广联达软件的心得体会
  20. google 进入分屏后在横屏模式按home键界面错乱( 四) 分屏的转屏过程

热门文章

  1. JScript js数组去重
  2. 51nod 1284:2 3 5 7的倍数 容斥原理
  3. 解决扫码枪虚拟键盘信息被输入法截获
  4. 职场英语--邮件自动回复模板
  5. 2020年程序员节杂记:老骥明知桑榆晚,不用扬鞭自奋蹄
  6. webpack打包工具1
  7. 基于Cesium的无人机飞行模拟
  8. 【MySql 数据库综合练习04】
  9. 【soft6星社评】担心AI“主宰”世界 如同杞人忧天
  10. Windows反调试技术全攻略