字符编码详解总结

  1. 计算机只会识别0和1
  2. 计算机处理数据得时候,将其他进制转换为2进制
  3. 计算机处理文本,会先将文本转换为数字
  4. 计算机在最早设计的时,采用8个比特(bit)表示一个字节(byte),所以一个字节表示的最大整数就是255(二进制11111111=十进制255
  5. 计算机由美国发明,所以最早只有127个字符被编码到计算机中,也就是大小写字母、数字和一些符号,这个编码表就是ASCII编码(即一个字母对应一个数字)
  6. 中文对应的是GB2312编码
  7. 日文对应的是Shift_JIS编码
  8. 韩国把韩文编到Euc-kr里’
  9. 各国有各国的标准,所以在多国语言混合的文本中,显示出来会乱码,所以Unicode就应运而生。
  10. Unicode把所有的语言都统一了编码,就不会有乱码的问题了
  11. unicode中常用2个字节表示一个字符(生僻的,可能是4个字节)
  12. ASCII编码是一个字节,而转换为Unicode编码后,就变成了2个字节,所以说如果基本为英文的情况下,这样的所需要的存储空间就大了一倍
  13. 本着节约的精神,就出现了可变长的UTF-8编码
  14. UTF-8编码把一个Unicode字符根据不同的数字大小编码成1-6个字符,常用的英文编码为1个字符,汉字为3个字符,生僻的字符为4-6个字符
  15. 下面是ASCII、Unicode和UTF-8的关系表
    字符ASCIIUnicodeUTF-8
    A0100000100000000 0100000101000001
    x01001110 0010110111100100 10111000 10101101
  16. 在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码。
  17. 用记事本编辑的时候,从文件读取的UTF-8字符被转换为Unicode字符到内存里,编辑完成后,保存的时候再把Unicode转换为UTF-8保存到文件:
  18. 浏览网页的时候,服务器会把动态生成的Unicode内容转换为UTF-8再传输到浏览器:

    所以你看到很多网页的源码上会有类似的信息,表示该网页正是用的UTF-8编码。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章