程序编码

程序编码

前言

不同的代码编辑器在对于编码规则的默认是不一样的,早期可能是为了对于中文更好地支持通常可能会选用GB2312编码,进行程序的编写,随着开发过程的深入,有些 GUI在开发过程中对于编码方式有着一定的要求(LVGL要使用UTF-8,才可以在中文上显示的比较正常,也可能是自己研究的浅)。

常用的编码方式

就目前而言我们常用的编码方式无非就是:UTF-8和GB2312两种

  • UTF-8:它属于unicode字符集的一种编码
  • GB2312:它既是一种编码规则同时也是一种字符集

UTF-8中BOM是什么东西

在某些特定的文件格式中,一些文件信息是放在文件的头部的比如说:.JPG……而有些文件是没有固定的文件头的,比如说:.c、.h……。但是在一些特定的编码下面,文件头可能会增加一些特殊的字段,用来记录某些信息(目前我就知道可能会区分大小端)。

不同编码下的文件头的实例:

  • UTF-8:文件头为空在这里插入图片描述
  • UTF-8 with BOM:文件头有固定的EF BB BF在这里插入图片描述
  • UTF-16 LE/UCS-2 LE:文件头有固定的FF FE(小端模式)在这里插入图片描述
  • UTF-16 BE/UCS-2 BE:文件头有固定的FE FF(大端模式)
    在这里插入图片描述
  • 注意:在使用UTF编码相互转换的过程中,notepad++是不会提示错误的,但是当在编码变成GB2312的时候,编辑器就会提示错误,点击是之后,就会出现我们常见的乱码状态了。但是使用vscode就不会出现问题,可能和编辑器的实现有关系。

总结

因为考虑到兼容性的问题(UTF-8-BOM,有些老的编辑器不能识别)所以最终选择UTF-8来作为今后的编程的标准编码。
以下为UTF-8作为编码时的注意事项:

  • 编辑器需要设置换行符为\r\n
  • 在注释后面增加空行
  • 谨慎使用注释
  • 在看到警告的时候关联思考是否可能和中文有关系(warning C4819)
  • 参考文章

常见编辑器的编码设置:
vscode:
- 取消自动猜测字符集,之前遇见过猜测错误的情况,导致自动保存之后编码乱套了。
- 设置换行符为\r\n
- 设置编码UTF-8
在这里插入图片描述
source insight4:

  • source insight4中的结束符需要选择windows(CR/LF)(\r\n)
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值