链接:https://blog.youkuaiyun.com/feather_wch/article/details/79799718
1、ASCII码的由来和作用
- 20实际60年代,美国制定的
字符编码,规定了英文字符与二进制间的关系ASCII码一共规定了128个字符的编码,包括32个不可见控制符号ASCII码只占用了一个字节的后面7位
2、Unicode编码的特点
Unicode只是符号集,只规定了符号的二进制代码, 没有规定如何存储- 对于
英文字符来说,很多字节都是0是极大的浪费,而对于部分语言(中文等)又需要更多的字节。Unicode不同的存储方式导致了Unicode难以推广
3、UTF-8的由来和特点
UTF-8是Unicode在互联网上使用最多的实现方式—UTF-16(2字节或者4字节),UTF-32(4个字节)使用很少。UTF-8是一种变长的编码方式—根据不同符号能改变字节长度(1字节~4字节)
4、UTF-8的编码规则
单字节符号:字节第一位为0, 后面7位为该符号的Unicode码(因此,英文字母的UTF-8和ASCII码相同)n字节的符号,第一个字节放置n个1+一个0,后面每个字节的开头为10,其余的位用Unicode码填充。(这样第一字节开头有几个1就表示该字符占据几个字节)
| Unicode符号范围 (十六进制) | UTF-8编码方式(二进制) |
|---|---|
| 0000 0000-0000 007F | 0xxxxxxx |
| 0000 0080-0000 07FF | 110xxxxx 10xxxxxx |
| 0000 0800-0000 FFFF | 1110xxxx 10xxxxxx 10xxxxxx |
| 0001 0000-0010 FFFF | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx |
5、Little endian和Bit endian(大端和小端)
- 如
Unicode码-4E25Big endian: 存储时4E在前,25在后Little endian: 存储时25在前,4E在后Unicode规定:文件开头头两个字节是FE FF-表示大头,乳沟是FF FE-表示小头
6、GBK编码
GBK的文字编码是双字节来表示的(中、英文字符均使用双字节)- 为区分中文,将其最高位都定成1。
大小端的故事
这两个古怪的名称来自英国作家斯威夫特的《格列佛游记》。在该书中,小人国里爆发了内战,战争起因是人们争论,吃鸡蛋时究竟是从大头(Big-endian)敲开还是从小头(Little-endian)敲开。为了这件事情,前后爆发了六次战争,一个皇帝送了命,另一个皇帝丢了王位。
3169

被折叠的 条评论
为什么被折叠?



