技术交流QQ群:1027579432,欢迎你的加入!

  • 1.字符编码

    • 1.计算机只能处理数字,如果要处理文本,必须把文本转换为数字才能处理
    • 2.1个字节能表示的最大整数是255,2个字节能表示的最大整数是65535
    • 3.最早只有127个字母被编码到计算机中,这个编码被称为ASCII码,比如A的编码是65,a的编码是97
  • 2.Unicode将所有语言都统一到一套编码中,就不会出现乱码问题

    • 1.最常用的是用两个字节表示一个字符,生僻的字符需要4个字节,现在操作系统和绝大多数语言都支持Unicode
      1. ASCII编码与Unicode编码的区别: ASCII编码是1个字节,Unicode编码通常是2个字节
    • 3.汉字中已经超过ASCII编码的范围,用Unicode编码是十进制的20013
    • 4.字母A的ASCII编码是十进制65,二进制01000001,A的Unicode编码是 0000000001000001
  • 3.如果文本基本全部是英文时,用Unicode编码比ASCII编码需要多一倍的存储空间,在存储与传输上十分不划算

    • 1.本着节约主义,将Unicode编码转化为可变长编码UTF-8编码
    • 2.UTF-8编码把一个Unicode字符根据不同的数字大写编码成1-6个字节
    • 3.常用英文字母被编码成1个字节,汉字通常是3个字节,生僻字符被编码成4-6个字节
    • 4.ASCII编码可被看成UTF-8编码的一部分


      图1.png
  • 4.总结

    • 1.在计算机内存中,统一使用Unicode编码
    • 2.当需要保存到硬盘或需要传输时,转化为UTF-8编码
  • 5.用记事本编辑时,从文件读取的UTF-8字符被转换为Unicode字符到内存中,编辑完成时,再把Unicode转换为UTF-8保存到文件


    图2.png
  • 6.浏览网页时,服务器会把动态生成的Unicode内容转换为UTF-8再传输到浏览器


    图3.png