首页 > 其他分享 >文件操作

文件操作

时间:2022-10-06 16:44:06浏览次数:54  
标签:文件 计算机 编码 utf8 解码 字符 操作 字节

一.字符编码

1.字符编码简介

1)字符编码只针对文本数据
2)计算机内部存储数据的本质是二进制,也就是计算机只认识0和1的二进制
3)之所以我们打出来的字可以被计算机识别是因为中间有一层转换关系:字符编码表

2.字符编码发展的三个阶段

阶段一:一家独大
​ 由于计算机是美国人发明的,为了让计算机可以识别英文所以发明了ASCII码。ASCII码中记录了英文字母跟数字的对应关系。
用1字节来表示一个英文字符
​ A~Z 65~90
​ a~z 97~122

阶段二:群雄割据
各国有了自己的字符编码:
中国:GBK码,记录中文、英文与数字的对应关系
两个字节存储一个字符
​ 日本:shift_JIS码,记录日文、英文与数字的对应关系
​ 韩国:Euc_kr码,记录韩文、英文与数字的对应关系

​ PS:此时各个国家之间编码不一致,不同数据无法直接交互会出现乱码!

阶段三:天下一统
​ 万国码(unicode):兼容多个国家语言与数字的对应关系。但是所有字符都是采用2字节来表示一个字符!
​ 后来utf家族发布了优化版:utf8。英文采用1字节,中文3字节

​ PS:内存使用unicode,硬盘采用utf8

3.字符编码相关操作

只有字符串可以参与编码解码,其他数据类型需要先转换成字符串才可以

1)解决乱码的措施
1.当初用什么编码存的就用什么编码解码
2.一个一个切换尝试
2)编码与解码

【编码】:人类字符>>计算机字符
​ 将人类字符按照指定的编码编成计算机可以识别的数字

#encode()编码

s1 = '张三'
res = s1.encode('utf8')
print(res)
#结果为:b'\xe5\xbc\xa0\xe4\xb8\x89'

【解码】:计算机字符>>人类字符
​ 将计算机可以识别的数字按照指定的编码解成人类字符

#decode()解码

res1 = res.decode('utf8')
print(res1)
#结果为:张三
3)不同版本解释器的区别

python2默认的编码是ASCII,如果想用utf8则需要:
1.文件最开头输入:#encoding:utf8
2.每一个字符串前面都要加u: print u'你好你好你好'
python3默认的编码是utf8

image

标签:文件,计算机,编码,utf8,解码,字符,操作,字节
From: https://www.cnblogs.com/oreoz/p/16757933.html

相关文章

  • [答疑]我的eap文件打不开了,有办法恢复吗?
    ​​软件方法(下)分析和设计第8章连载[20210518更新]>>​​随心所想(10****075)8:58:09我的eap文件打不开了,有办法恢复吗?第五元素(50***16)8:58:30eap其实就是一个mdb文件。......
  • 6.4.3Log4j配置文件
    1.输出级别log4jrootLogger=debug,stdout,logfiledebug指的是日志记录器(Logger)的输出级别,主要输出级别及含义如下:.fatal:指出严重的错误事件将会导致应用程序的退......
  • DIY(02)——根据现有名单从原始文件中复制名单文件进入新的文件夹
    涉及到内容:1.获取文件名称,并根据名称与名单进行比对2.拷贝文件  %filenameisdeliverdataclc;clearall;closeall;%读取文件名fileFolder=fullfile('D:\z')......
  • go sftp上传文件
    gosftp上传文件步骤使用"golang.org/x/crypto/ssh"连接到Linux环境使用"github.com/pkg/sftp"创建sftp客户端然后传输文件packagemainimport("fmt""gith......
  • [答疑]编辑、删除操作是否和查询的关系为扩展
    ​​软件方法(下)分析和设计第8章分析之分析类图——知识篇(20211227更新)​​​​软件方法(下)分析和设计第9章分析之分析类图——案例篇(20211228更新)​​问题时间:2014/5/13......
  • django找不到template文件的解决办法
    照着视频抄写第一个django展示html的页面如下图所示,然后运行之后提示template不存在的问题,这个坑怎么填啊?原来是因为主应用的settings文件下边少配置了一个东西,如下图所......
  • 阿里一面,给了几条SQL,问需要执行几次树搜索操作?
    前言有位朋友去阿里面试,他说面试官给了几条查询SQL,问:需要执行几次树搜索操作?我朋友当时是有点懵的,后来冷静思考,才发现就是考索引的几个基础知识点~~本文我们分九个索引知......
  • Proxmark3 Easy 如何流畅的在Linux中操作?
    前言Proxmark3Easy可谓是国内能买到的比较便宜的RFID卡防设备了,曾在部分hv中出现。Proxmark3Easy是国内简化的一种设备,利用的是较早的Proxmark3的开源,基础的功能也能满......
  • db2 bufferpool操作
    一、概述数据库BufferPool介绍:对于数据库管这种对性能要求极高的系统而言,缓存自然也是不可少的。数据库中的缓存称为缓冲池,缓冲池存在的唯一目的就是提高数据库系统性能。缓......
  • MT4 serverAPI开发接口(头文件)
    如有疑问请联系v:yunkeji5868同managerAPI接口一样,下面是serverAPI提供的接口,可以保存为.h文件直接导入到自己工程中使用。具体如果使用可看我的其他文章。 //+-------......