编译器开发(二)关于编码问题

本文探讨了C语言中char型变量与UTF8编码的关系,指出C语言标准并不直接支持UTF8。通过实验展示了ASCII字符在二进制编辑器中的表示,如'a'为61h,'z'为7ah等。作者建议利用short型变量读取文件,并提出了不同系统间可能存在编码差异的问题。
摘要由CSDN通过智能技术生成

C语言的char型变量只占了1字节,而utf8占了2字节,显然C语言无法直接识别utf8(不要反驳我,我知道宽字符可行,但我不用最新标准),不难发现short型其实是二字节的,那么读取文件时只要写进short数组,识别数字大小就好啦,不过问题是关于字符在文件中的编码是啥呢?

我们做个实验,先用文本编辑器输入一个字符,在用2进制编辑器打开看看就知道啦:

a-61h

z-7ah

A-41h

Z-5ah

以上就是用MT管理器在安卓系统实验的结果,跟多内容需要自己尝试,毕竟各系统还是有区别的。

那么,就这样bye

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值