zoukankan      html  css  js  c++  java
  • ascii、unicode、utf-8、gbk 区别?

    发展史https://www.cnblogs.com/houxt/p/11250878.html
     

    python2内容进行编码(默认ascii),而python3对内容进行编码的默认为utf-8。

    ascii:
    最多只能用8位来表示(一个字节),即:2**8 = 256(即pow(2,8)=256),
    所以,ASCII码最多只能表示256个符号。
    unicode:
    万国码,任何一个字符==两个字节
    utf-8:
    万国码的升级版,一个中文字符==三个字节,英文是一个字节,欧洲的是2个字节
    gbk:
    国内版本,一个中文字符==2个字节,英文是一个字节
    gbk转utf-8,则需通过媒介unicode



    ascii

    A:00000010 8位 一个字节

    unicode

    A:00000000 00000001 00000010 00000100 32位 四个字节

    中:00000000 00000001 00000010 00000100 32位 四个字节

    utf-8

    A:00000110 8位 一个字节

    中:00000010 00000110 16位 两个字节

    gbk

    A:00000110 8位 一个字节

    中:00000010 00000110 16位 两个字节

    1,各个编码之间的二进制,是不能互相识别的,会产生乱码。

    2,文件的存储,传输,不能是unicode (只能是utf-8 utf-16 gbk gbk2312 ascii等)

    python3

      str  在内存中是Unicode编码。

        bytes类型

        对于英文:

          str:表现形式:s = 'alex'

             编码方式:010101010 unicode

         bytes:表现形式:s = b'alex'

              编码方式:000101010 utf-8 gbk。。。。

        对于中文:

           str:表现形式:s = '中国'

              编码方式:010101010 unicode

         bytes: 表现形式:s = b' xe91e91e01e21e31e32'

               编码方式:000101010 utf-8 gbk。。。。

     encode 编码,如何将 str ——> bytes

                         使用方法:  str.encode('utf-8')

     decode 解码,如何将 bytes——> str

                                 使用方法:  bytes.decode('utf-8')

  • 相关阅读:
    课后作业-阅读任务-阅读提问-2
    课后作业-阅读任务-阅读提问-3
    结对-贪吃蛇-需求分析
    《团队-团队编程项目作业名称-最终程序》
    《20171130-构建之法:现代软件工程-阅读笔记》
    课后作业-阅读任务-阅读提问-4
    团队-井字棋游戏-项目总结
    《软件工程课程总结》
    团队编程项目作业5-小组评分
    课后作业-结对编程项目总结
  • 原文地址:https://www.cnblogs.com/Rivend/p/12043962.html
Copyright © 2011-2022 走看看