zoukankan      html  css  js  c++  java
  • 【0807 | Day 10】字符编码以及Python2/3编码的区别

    一、计算机基础

    计算机组成:CPU、内存、硬盘

    CPU:控制程序运行(从内存中取出文本编辑器的数据存入内存)

    内存:运行程序

    硬件:存储数据

    二、文本编辑器存取文件的原理

    比如计算机只能识别0和1,文本编辑器读写数据再存储数据

    三、Python解释器

    01010001 --> a = 1 (所见,python解释器没有运行时提供)

    a = 1 -> 01010001(所得,python解释器运行时提供)

    四、字符编码

    二进制转化为你认识的字符

    01 ab 2^1

    00 01 10 11 abcd2^2

    ……

    0000 0000 2^8

    日本:shift_JIS

    韩国:Euc_kr

    五、字符编码梳理

    六、Python2 Vs Python3字符编码的区别

    代码详情Python2执行情况Python3执行情况

    # coding:gbk print('中')

    终端:utf8

    乱码 不乱码

    # coding:utf8 print('中')

    终端:utf8

    不乱码 不乱码

    # coding:gbk print(u'中')

    终端:utf8

    不乱码 不乱码

    # coding:utf8 print(u'中')

    终端:utf8

    不乱码 不乱码

     

    • 注意:在Python2中如果指定了字符编码,那么内存存取就会按照指定的字符编码去入内存。解释或去执行时就要按照指定了的字符编码去解释,否则就会乱码。 否则可以在定义变量前面加上u,这样变量就会以unicode编码存入内存。

     

    • 注意:但在Python3中就不会有这样的问题,因为无论你指定了什么字符编码,在内存存取时都会使用Unicode编码去入内存,Unicode编码可以和任意的字符编码相互转换,并在读取时按照所需的编码区读取,这样就很好解决了字符编码的问题
  • 相关阅读:
    idea 缺失右侧maven窗口
    SpringCloud
    Java面试题——Java基础
    json对象、json字符串的区别和相互转换
    java中的 private Logger log=Logger.getLogger(this.getClass());
    http网络编程
    ansible和helm
    template模板
    http中get和post请求方式
    session和cookie
  • 原文地址:https://www.cnblogs.com/fxyadela/p/11318928.html
Copyright © 2011-2022 走看看