导入工程调试Bug时,中文乱码问题

前言

这种问题中文乱码本质是导入的代码编码格式与自己的IDE编码格式不统一导致的。

解决方案

  1. 将自己的IDE编码格式修改为UTF-8(国际通用)。
  2. 如果还是乱码,将IDE编码格式修改为GBK。

主要是了解ASCII字符集,中文字符集。
ASCII
计算机主要是通过0与1去表达相关信息,对于数字0-9,以及大小写字母字符一共62,考虑到还有特殊字符(如:!、@、#、$、%、^、&、*、{、}、|等)和不可见的控制字符,必然超过64个,这又该如何表示呢?注意这里特别提到了“64" ,因为它的特殊性,即2的6次方。使用刚才的0与1组合,至少是7组连续的信号量。计算机在诞生之初对于存储和传输介质实在没有什么信心,所以预留了一一个bit(位)用于奇偶校验,这就是1个Byte(字节)由8个bit组成的来历,也就是ASCII码。

注意

在ASCI码中,有两个特殊的控制字符10和13,前者是LF即“\n”,后者是CR即“\r”,在编码过程中,代码的换行虽然是默认不可见的,但在不同的操作系统中,表示方式是不一样的。在UNIX系统中,换行使用换行符“\n”;在Windows系统中,换行使用“\r\n”:在旧版macOS,换行使用回车符“\r”,在新版macos中使用与UNX系统相同的换行方式。

中文字符集
中文字符远远大于ASCII所表达的数量。 毕竟ASCH码先入为主,必须在它基础上继续编码,也必须想办法和它兼容。1个字节只能表示128个字符,所以采用双字节进行编码。早期使用的标准GB2312收录了6763个常用汉字。而GBK (K是拼音kuo的首字母,是扩展的意思)支持繁体,兼容GB2312。而后来的GB18030是国家标准,在技术上是GBK的超集并与之兼容。1994年正式公布的Unicode,为每种语言中的每个字符都设定了唯一编码, 以满足跨语言的交流,分为编码方式和实现方式。实现Unicode的编码格式有三种: UTF-8、 UTF-16、UTF-32,UTF ( Unicode Transformation Format )即Unicode字符集转换格式,可以理解为对Unicode的压缩方式。根据二八原则,常用文字只占文字总数的20%左右。其中,UTF-8是-种以字节为单位,针对Unicode的可变长度字符编码,用1 ~ 6个字节对Unicode字符进行编码压缩,目的是用较少的字节表示最常用的字符。此规则能有效地降低数据存储和传输成本。

网址:https://mp.weixin.qq.com/s?__biz=Mzg2MTA1ODcyNg==&mid=2247484336&idx=1&sn=ebbb0ce289afce753b662803c81280f0&chksm=ce1da079f96a296f45795fbac4bf05af64590074ec3786f871388de917c0dad48bc285cb8299&mpshare=1&scene=2&srcid=0705aE8fLztkjYPR2KwQ0xf8&from=timeline&key=36d9fe3c515a6a558aba05580f9479aabbc7d0212e7b8c8329043e80c24dd12996638bce6380a386ba2381b42ffc4da95f2bf45b632bdd83b8dc0529becb03b64f98925901861a82332d6c08abf5c109&ascene=1&uin=Mjg4MDYyOTQyOA%3D%3D&devicetype=Windows+7&version=62060833&lang=zh_CN&pass_ticket=UXODdTja%2B1E35OHKjhePNBNaWjq%2FbOm1KwkMX0wma3BW9k4nDrRrLpafJQ4QM5tz

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

道阻且长,行则降至

无聊,打赏求刺激而已

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值