• 字符编码和文件操作


    一、字符编码

    1、什么是字符编码?

            人类能识别的是字符等高级标识符,电脑只能识别0,1组成的标识符,要完成人与机器之间的信息交流,
                  一定需要一个媒介,进行两种标识符的转化(两种标识符的对应关系)

    2、编码表:对应关系形成的结构

            常用的编码表有ascii、unicode、GBK、Shift_JIS、Euc-kr

    3、Unicode与utf-8的关系:

          Unicode:用两个字节来存储汉字,用两个字节来存储英文,占有空间较多,读取速率极高

          utf-8:用3-6个字节来存储汉字,用一个字节来存储英文字母,占有空间较少,读取速率低

    总结:内存都是按Unicode存储数据,硬盘和cpu采用utf-8存取数据

              Unicode与utf-8采用的是一张Unicode编码表,utf-8是Unicode编码表体现方式,变长存储数据

              变长优点:大量数据都是以英文存在,所以utf-8空间更小,传输速度更快

    二、3种字符串

    1、Unicode字符串,默认字符串

    s1 = u'abc你好 不好'( 换行)

    2、字节字符串

    s2 = b'abc123xb7xb7

    3、原义字符串:不对字符串内存做任何操作(eg: 的转换)

    s3 = r'abc你好 不好

    三、编码与解码

    1、编码

    s = '123呵呵'

    n_b = bytes(s,encoding='utf-8')

    print(n_b)

    2、解码

    b = b'123xe5xe91xb5xe5x91xb5'

    n_b = str(b,encoding = 'GBK')

    重点:

    将u字符串编码成b字符串:print(u'你好'.encode('utf-8'))

    将b字符串解码成u字符串:print(b'xe4xbdxa0xe5xbd'.decode('utf-8'))

    四、文件操作

    1、使用文件的三步骤

          打开文件:变量名 = 文件空间

                            文件路径    操作模式(读|写)  编码

                             f = open('a.txt','r',encoding= 'utf-8')

           操作文件:data = f.read(3)   #将所有内容读取出来,如果read括号设置长度,按照规定长度读取数据

                            line = f.readline()  

                            line = f.readline()        #一次读取一行

                            lines =f.readlines()     #按行一次性全部读出

                            l = []

                            for line in f:

                                   l.append(line)      #逐步一行一行取

             关闭文件:

                            f.close()    #释放操作系统对文件的持有,变量f还被应用程序持有

    2、模式:

                     主模式:r | w | a
                 从模式:b | t | +
                 了解:x | U

    1、w基础写:

    文件不存在:会新建文件,再操作文件

    文件存在:先清空文件,再操作文件

    w = open('b.txt','w',encoding = 'utf-8')

                             

              

          

  • 相关阅读:
    Maven POM 元素参考表
    Hibernate MySql 连接池隔天断开解决方法
    html页面乱码问题
    Maven常用插件列表
    cygwin下使用vi
    干掉已打开的端口(如:停止8080端口)
    将Maven的Web Project部署到Tomcat
    [转]利用FtpClient类实现文件的上传下载功能
    关于生成GUID
    FinalShell 离线激活工具
  • 原文地址:https://www.cnblogs.com/yanminggang/p/10600196.html
Copyright © 2020-2023  润新知