zoukankan      html  css  js  c++  java
  • 字符编码

    1.内存和硬盘都是用来存储的。

    CPU:速度快

    硬盘:永久保存

     

    python解释器程序的执行流程:

      1.打开python解释器

      2.告诉操作系统一个文件路径

      3.操作系统从硬盘读取文件到内存中

      4.cpu从内存中读取数据执行

     

    2,什么是字符编码呢?

      计算器只能识别0和1,识别过程就是 字符--->翻译---->数字

      人类想要读懂计算机的内容,那么就要有可以表示字符与数字的对应关系的表。

    第一阶段:计算机起源于美国,最早诞生ASCII码只支持英文

       ASCII:8位,二进制表示一个字符(1Bytes = 8bit)

    第二阶段:为了能使用中文,中国人定制了GBK,

      GBK:

      • 只支持中文,英文
      • 8位,二进制表示一个英文字符(1Bytes = 8bit)
      • 16位,二进制表示一个中文字符(2Bytes = 16bit)      

      为了满足其他国家,各个国家纷纷定制了自己的编码,日本把日文编到Shift_JIS里,韩国把韩文编到Euc-kr

    第三阶段:各个国家有自己的标准,就会有避免冲突出现,多个国语言混合使用则会发生乱码,于是产生了Unicode

      Unicode:

      • 万国码具有兼容性
      • 通常2Bytes表示一个字符,而个别的是4Bytes 或 8Bytes      

      注意点:老的字符可以转换成Unicode,但是不能通过Unicode互相转换。

      

      但是Unicode生成的数据占用的空间大,于是产生了utf-8 ,而utf-8则是万国码的压缩版。

      utf-8:

      • 1Bytes表示一个英文 
      • 3Bytes表示一个中文  

      结论:

    1. 内存固定使用Unicode,我们可以改变存入内存硬盘的格式
    2. 文本文件存取乱问题:
      • 存乱:编码格式设置成支持文件内容的格式
      • 取乱:文件以什么编码格式写就以什么格式取  

        保证运行Python不乱码的核心法则:

                指定文件头:#coding:文件当初存入硬盘时所采用的编码格式

    python2与python3的格式区别

    • Python3默认格式:utf-8
    • Python2默认格式:ASCII

    python2与python3的 str 区别

    • Python3 str 类型默认存:Unicode格式
    • Python2str 类型为了不乱码在str 前加一个u
  • 相关阅读:
    aircrack-ng 多网卡启动后环境清理
    Docker create image
    预加载(学习一)
    activity+fragment多次切换出现页面空白问题
    万能的Volley
    关于下拉刷新你是否真的非常理解还是只会搬砖?附 Android 实例子源代码文件下载地址380个合集
    如何将Java源代码文件的编码从GBK转为UTF-8?
    如何操作笔记本显得逼格很高?
    跑马灯源代码
    关于java、Android中Math的一些用法
  • 原文地址:https://www.cnblogs.com/zhenghuiwen/p/12487402.html
Copyright © 2011-2022 走看看