zoukankan      html  css  js  c++  java
  • python----字符编码与文件处理

     字符编码

    计算机工作就要通电,也就是说‘电‘驱使计算机干活,而电只有高电压(二进制1),低电压(二进制0),也就是说计算机只认数字。

    编程的目的就是让计算机干活,编程的结果就是一堆字符,也就是我们编程最终实现的是:一堆字符驱动计算机干活呢。

    1:python解释器是执行文件内容的,因而python解释器具备读py文件的功能,

       这一点与文本编辑器一样。

    2:与文本编辑器不一样的地方在于,python解释器不仅可以读文件的内容,

       还可以执行文件内容。

          字符------------à(翻译过程)----------------à数字

          这个过程实际就是一个字符如何对应一个特定的数字标准,这个标准称之为数字编码。

    一:ASCLL:

          一个Bytes=8bit--------------à可以表示为2**8种变化

          00000000-------------à0------------------à’a’

          00000001-------------à1------------------à’b’

          10101010

          1*(2**8)+1*(2**6)+1*(2**4)+1*(2**)

          ASCLL:最初只有七位,127个数字。

          为了将拉丁文也编码进ASCLL中,将最高位也占了。

    二:为了满足中文,中国人定制了GBK。

          GBK:2Bytes代表一个字符。

          日本----------shift_JIS

          韩国----------Evc-kr

    三:Unicode,统一用2(2Bytes)位代表一个字符。(万国编码)

    优点:转换速度快。

    缺点:占用空间大。

    2**16=65536,可代表多个字符。

    1Bytes    =    8bit

    1Kb      =     1024Bytes

    1MB     =     1024KB

    1GB      =     1024MB

    1027TB   =     1024GB

    1GB      =     1024*1024*1024*1024*8

    四:UTF—8(可变长的字符编码)-----------à精准,对不同的字符用不同的长度表示。

    优点:节省空间。

    缺点:转换速度慢。

         对英文字符只用1Gytes,对中文只能用3Byte          

           1内存中使用的是Unicode,用空间换时间(程序都需要加载到内存才能运行,因而内存要尽可能的快)

            2:硬盘中或者网络传输用Utf_8,保证数据传输的稳定性。

    Unicode---------àencode-----------àutf-8

    Utf-8---------àdcode------------àunicode

       结论:用什么编码存,就用什么编码取。

              Python3解释器中,默认的字符编码是Utf-8

              Python2解释器中,morn的是ASCII

              

       

        

           

     

  • 相关阅读:
    java中高级软件工程师面试总结
    失败的面试经历
    解决webstorm打开包含node_modules项目卡死问题
    通俗易懂的理解javascript闭包
    javascript实现silverlight pivotViewer控件
    javascript面向对象
    吐槽一下万网空间
    html5的Canvas
    前端CSS兼容的一些思路
    Win10 Ubuntu子系统访问Windows目录
  • 原文地址:https://www.cnblogs.com/w-s-l123/p/7239730.html
Copyright © 2011-2022 走看看