zoukankan      html  css  js  c++  java
  • 字符字节与文件操作的基础介绍

    1.字符编码
    人类识别的字符等高级标识符与计算机识别的10二进制标识符之间转化的介质,用来完成人与计算机之间的信息交流。
    对应关系形成的结构称为编码表
    编码表的发展史
    1.1 8位二级制就是一个字节1byte=8bit
    1.2 ASCII码表
    1.3 中国的GBK码表
    1.4 万国字符编码表unicode
    py2:ascii,没有按万国编码,原因py2诞生(1991)于万国编码(1994)之前
    py3: utf-8, 采用万国编码来解释文本内容
    1.5 unicode与utf-8什么关系:
    unicode:用2个字节来存储汉字,用2个字节来存储英文字母,占有空间较多,读取效率极高
    utf-8:用3-6个字节来存储汉字,用1个字节来存储英文字母,占有空间较少,读取效率低
    总结:内存都是按unicode存储数据,硬盘和cpu采用utf-8来存取数据
    1.6 Unicode与utf-8实际中的应用:
    unicode与utf-8采用的是一张unicode编码表,utf-8是unicode编码表体现方式,变长存储数据
    变长优点:(大量数据都是以英文存在,所以utf-8空间更小)传输速度更快


    2.字节与字符
    2.1 unicode字符串 a=u'hello 你好' #(默认字符串就是Unicode字符串)
    2.2 字节字符串 b=b'hello xe4xbdxa0xe5xa5xbd' #字节字符串
    2.3 原义字符串 c=r'hellp world' 此处 不会换行 直接翻译 出来
    2.4 编码与解码
    a='hellp world 你好 世界'
    n_a=bytes(a,encoding='utf8')
    print(n_a)

    d=b'hellp world xe4xbdxa0xe5xa5xbd xe4xb8x96xe7x95x8c'
    n_d=str(d,encoding='utf-8')
    print(n_d)
    将u字符串编码成b字符串
    print(u'你好 世界'.encode('utf-8'))
    将b字符串编码成u字符串
    print(b'hellp world xe4xbdxa0xe5xa5xbd xe4xb8x96xe7x95x8c'.decode('utf-8'))

    3.文件操作
    文件:硬盘中一块存储空间(虚拟的文件)
    文件操作:根据文件名来操作硬盘的那块存储空间,操作方式,读read和写write
    一、使用文件的三步骤
    1打开文件
    变量名等于文件空间
    文件路径 操作模式(读|写)编码
    f = open('a.txt','r',encoding='utf-8') #open打开文件
    2操作文件
    data =f.read(3)
    print(data)
    一次读取一行
    line=f.readline()
    print(line)
    按一次性全部取出
    lines=f.readlines
    print(lines)
    逐布一行一行读取
    l=[]
    for line in f:
    print(line)
    l.append(line)
    print(l)

    s=set()
    for line in f:
    print(line)
    s.add(line)
    print(s)
    3关闭文件
    f.close
    print(f) #<_io.TextIOWrapper name='a.txt' mode='r' encoding='utf-8'>
    二模式:
    主模式:r读|w写|a追加
    从模式:b按字节操作|按字符操作|+可读可写

    基础写
    文件不存在:会创建新的文件,再操作文件
    文件存在:先清空文件,再操作文件
    w=open(b.txt,'w',encoding='utf-8')
    w.write('456')
    w.close

    承蒙关照
  • 相关阅读:
    华为机试题 成绩排名
    华为机试题 四则运算
    华为机试题 求最大连续bit数
    华为机试题 Redraiment
    华为机试题 素数伴侣
    华为机试题 字符串排序
    华为机试题 计算字符串的距离
    华为机试题 多线程
    UE4-快捷键-按键监听事件
    UE4-Blueprint Class-Actor-开关门-盒子触发体
  • 原文地址:https://www.cnblogs.com/guanlei/p/10601135.html
Copyright © 2011-2022 走看看