字符编码

字符编码

什么是字符编码 ?

由于计算机内部只能识别二进制。

但是用户在使用计算机时,却可以看到各式各样的语言字符。

字符编码:内部记录了人类字符与数字对应关系的数据。

( 只根文本文件和字符串有关 ) 。

字符编码

 

字符串编码发展史

字符编码

1. 一家独大 >>> 2.群雄割据 >>> 3.一统天下

1. 计算机由美国人发明,为了能让计算机识别英文,美国人发明了ASCII

    ASCII码中记录了英文字符与数字的对应关系,用一个字节一个字节表示。1bytes

    所有的英文字符和符号加起来不超过127个,使用八进制是为了后续发现新的语音留有余地。

    需要记住的对应关系是 A-Z:65-90   a-z:97-122  

字符编码 

 2.中国:为了让计算机识别中文,我们需要发明另一套编码表。

       我国发明了GBK码:记录了英文中文与数字的对应关系。

       对于英文还是使用一个字节;对于中文要使用两个甚至更多字节。2bytes,3bytes

    日本:为了让计算机识别日文,也需要发明一套编码表。

        shift_JIS码:记录日文与英文与数字的对应关系。

    韩国:为了让计算机识别韩文,也需要发明一套编码表。

        Euc_kr码:记录韩文英文与数字的对应关系。

  •    字符编码

 

 

 

 

 

 

 

 

 

 

3.一统天下

  为了实现国家与国家之间的文本数据可以无障碍交流,需要统一编码

  出现了unicode(万国码):统一使用两个及以上的字符记录与数字的对应关系。

             utf8(万国码的优化版):将英文还是以1bytes储存,中文以3bytes或更多储存。

    """  现在默认使用的是utf8  """

字符编码实操

1.如何解决乱码情况

    文件以什么编码编的,就规定以什么编码打开。

     如果使用不当,会出现乱码。

 

 2.python解释器版本不同的编码差异

   python2.x 内部的编码使用默认编码是ASCII

                    使用 coding:utf8 更改成utf8可使用的模式

                     一定要在定义内容前加小u

   python3.x 内部使用utf8

字符编码

     修改自定义文本版本内容如下:

字符编码

 

 

 3.编码与解码

    编码:将人类能够读懂的字符,安装的指定编码转成数字  (.encode)

    解码:将数字按指定的编码转化为人类的字符。(.decode)

 字符编码

 

 

文件操作

 

1.什么是文件?

 

  文件就是操作系统展示给用户操作硬盘的一个接口。

 

2.代码如何操控文件

 

   关键字:open()

 

    1.利用open打开文件

     """

     文件路径,读写模式,字符编码

     文件路径与读写模式是必须的

      字符编码是可选的(有些模式需使用到编码)

     """

 

    2.利用其他方法操控文件

 

    3.关闭文件

        关闭文件除了使用.close( ) ,还可以使用with

         with上下文管理(能够自动帮你close( ) )

        with open(r'1.txt','r',encoding='utf8') as f1:

                     pass (用于补全语法结构,没有特殊意义)

        """以后代码操作文件 推荐使用with语法"""

字符编码

 

 

   """
        文件路径
        相对路径与绝对路径
        路径中出现了字母与斜杠的组合产生了特殊含义如何取消
        在路径字符串前面加一个r
        r'D:\py20\day08\a.txt'
  """

 字符编码

 

 文件读写模式

   pass :补全语法结构,没有实际含义

    ...     :   也是补全语法结构,没有实际含义

 (不推介使用,代码中会有很多 . 号 会看不清)

 

     r  : 只读模式

         读文件,路径不存在时 直接报错

         文件存在时,读取内容 (.read)

字符编码

    w  :只写模式

          路径不存在时,自动创建

          路径存在时,会清空原内容后再执行 (.write)

字符编码

    a   :只追加模式

           可读,路径不存在时,自动创建

            路径存在时,则在最后添加内容

 字符编码

 

上一篇:Linux 文件 I/O 进化史(一):Buffered I/O


下一篇:adb和机顶盒一些常识