字符编码

链接:https://blog.csdn.net/feather_wch/article/details/79799718

1、ASCII码的由来和作用

  1. 20实际60年代,美国制定的字符编码规定了英文字符与二进制间的关系
  2. ASCII码一共规定了128个字符的编码,包括32个不可见控制符号
  3. ASCII码只占用了一个字节的后面7位

2、Unicode编码的特点

  1. Unicode只是符号集,只规定了符号二进制代码, 没有规定如何存储
  2. 对于英文字符来说,很多字节都是0是极大的浪费,而对于部分语言(中文等)又需要更多的字节。
  3. Unicode不同的存储方式导致了Unicode难以推广

3、UTF-8的由来和特点

  1. UTF-8Unicode互联网上使用最多的实现方式—UTF-16(2字节或者4字节),UTF-32(4个字节)使用很少。
  2. UTF-8是一种变长的编码方式—根据不同符号能改变字节长度(1字节~4字节)

4、UTF-8的编码规则

  1. 单字节符号字节第一位0, 后面7位为该符号的Unicode码(因此,英文字母UTF-8ASCII码相同)
  2. n字节的符号第一个字节放置n个1+一个0,后面每个字节的开头为10,其余的Unicode码填充。(这样第一字节开头有几个1就表示该字符占据几个字节)
Unicode符号范围 (十六进制)UTF-8编码方式(二进制)
0000 0000-0000 007F0xxxxxxx
0000 0080-0000 07FF110xxxxx 10xxxxxx
0000 0800-0000 FFFF1110xxxx 10xxxxxx 10xxxxxx
0001 0000-0010 FFFF11110xxx 10xxxxxx 10xxxxxx 10xxxxxx

5、Little endian和Bit endian(大端和小端)

  1. Unicode码-4E25
  2. Big endian: 存储时4E在前25在后
  3. Little endian: 存储时25在前,4E在后
  4. Unicode规定文件开头头两个字节是FE FF-表示大头,乳沟是FF FE-表示小头

6、GBK编码

  1. GBK的文字编码是双字节来表示的(中、英文字符均使用双字节)
  2. 为区分中文,将其最高位都定成1。

大小端的故事

这两个古怪的名称来自英国作家斯威夫特的《格列佛游记》。在该书中,小人国里爆发了内战,战争起因是人们争论,吃鸡蛋时究竟是从大头(Big-endian)敲开还是从小头(Little-endian)敲开。为了这件事情,前后爆发了六次战争,一个皇帝送了命,另一个皇帝丢了王位。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

猎羽

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值