• 字符编码大纲


    '''
    字符编码大纲
    '''

    # 字符编码
    
    二进制和字符之间的转换过程 --> 字符编码
    
    ascii,gbk,shit,fuck  每个国家都有自己的编码方式
    
    美国电脑内存中的编码方式为ascii ; 中国电脑内存中的编码方式为gbk , 美国电脑无法识别中国电脑写的程序 , 中国电脑无法识别美国电脑写的程序
    
    现在硬盘中躺着 ascii/gbk/shit/fuck 编码的文件, 他们的编码格式已经无法修改了, 所以内存中出现unicode编码, 内存中的unicode编码方式可以识别  ascii/gbk/shit/fuck 编码的文件
    
    用unicode编码方式运行了 ascii/gbk/shit/fuck 编码的文件, 最后还是要装入硬盘, 装入硬盘早期用unicode存进去,但是 他在识别ascii的时候, 会把8位数字转换成16位数字存入硬盘, 浪费空间, 所以出现了utf8(与unicode对应,并且压缩unicode编码的字符)
    
    utf8 能识别其他国家的编码,只识别unicode, utf8目前还不能放在内存,. 但是现在写的代码都是utf8, 历史遗留ascii/gbk/shit/fuck 编码的文件迟早消失/淘汰,要么被转换成utf8格式.所以迟早有一天内存中也是utf8.
    
    # Python2和3字符编码的区别
    
    1. 打开python解释器
    2. python解释器相当于文本编辑器,读取二进制转化为普通字符  a = 1
    3. 对转化后的普通字符进行解释(定义变量就要新开辟内存空间存放变量)
    
    ## python2
    
    用文件指定的编码方式存储定义后的变量
    
    如果文件指定编码为'gbk' ,那就会以gbk的形式存储变量, 本来打印的是0和1,但是终端会自动对你的0和1安装终端默认的编码转换成字符 ,如果终端的默认编码是utf8 ,乱码; 如果终端默认编码是gbk,不乱吗
    
    如果定义变量前加上u,coding:xxx不会对他造成任何影响, 因为会用unicode编码存储变量, 终端是任何类型的编码都可以识别
    
    ## python3
    
    用unicode编码方式存储定义后的变量
    
    
    
    **以后写文件以什么格式存储,就以什么格式读取**
    
    
    
    # 文件的三种打开方式
    
    r : 只读
    
    f.read()
    
    w: 清空后写入(文件不存在自动创建)
    
    f.write()
    
    a: 追加(文件不存在自动创建)
    
    f.write()
    
    
    
    文本模式:t
    
    二进制模式:b
    
    **t/b无法单独使用,只能和r/w/a一起使用**
    
    # with管理文件上下文
    
    with open() as f:  # 自动关闭
    
    # pyinstaller的使用
    
    pip instlal pyinstaller
    
    **切换路径到文件夹(文件夹包含img.ico和test.py这两个文件)**
    
    pyinstaller -i img.ico -F test.py
    
  • 相关阅读:
    vue router 中 mode和base
    C# 迭代器、枚举器、IEnumerable和IEnumerator
    C#单例模式(Singleton Pattern)
    C#设计模式
    C# UML图符号的含义
    C#设计模式-迭代器模式
    IQueryable<T>和表达式树
    .NET IEnumerable和IEnumerator
    C#基础知识之const和readonly关键字
    C#基础知识之base、this、new、override、abstract梳理
  • 原文地址:https://www.cnblogs.com/jinhongquan/p/11323326.html
Copyright © 2020-2023  润新知