美文网首页
python中的字符编码问题

python中的字符编码问题

作者: CurryCoder | 来源:发表于2018-10-09 22:32 被阅读4次
    • 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

    相关文章

      网友评论

          本文标题:python中的字符编码问题

          本文链接:https://www.haomeiwen.com/subject/azfuaftx.html