036 字符编码
字符编码
1.计算机基础
1.cpu :控制程序的运行(从内存中取出文本编辑器的数据读入内存)
2.内存:运行程序(经过cpu操作后,内存中含有文本编辑器的数据)
3.硬盘:存储数据(文本编辑器)
应用程序的任何操作硬件的请求都需要向操作系统发起系统调用,然后由操作系统取操作硬件
2.文本编辑器
计算机只认识 0和1
文本编辑器的作用:读写数据,保存数据
- 打开文本编辑器就时启动了一个进程,是在内存中的,所以,用编辑器编写的内容也都是存放与内存中的,断电后数据就会丢失。
- 要想永久保存,需要保存文件,把编辑器在内存的数据就存到了到了硬盘上。
- 在我们编写一个pyrthon的py文件没有执行时,跟编写其他文件没有任何区别,都只是在编写一堆字符而已。
python解释器具有文本编辑器的功能
3.字符编码
1.在早期我们不同的国家都是用不同的编码格式来使用计算机,编写文件以及使用文件的。那最开始我们每个国家用着不同的编码,也就是说每个国家的编码时不可以相互转换的,也就是如果只用一个国家的编码的话,那日他国家的编码在文字解析的时候就会出现乱码。所以就出现了一种能够认识全世界的语言,也就是它能够解析任何一个国家编码格式的文字,这种语言就是Unicode
2.我们的文件最开始都是以不同的编码格式存在硬盘中的,当我们需要一个任何格式编码的文件的数据时,我们并不是直接就能把它打开并读取到文件中的数据的,我们需要把这个文件先放到内存中去然后用能够认识全世界语言的Unicode去解析这个文件。
3.但是由于unicode在解析文件之后进行文件在硬盘存储的时候,它会浪费大量的时间和内存空间,那这个时候有出现了一个基于unicode的可变长编码UTF8,我们把unicode形式编码在转换成UTF8形式的编码,但是UTF8时只认识unicode编码的,我们不可以直接的将我们索要读取的文件直接用UTF8去解析,否则也会出现乱码。
4.什么时候会乱码
1.编码格式不统一的时候
2.文件编辑器只认识一种固定的编码格式,你却用另一种编码格式输入数据的时候。--文件的存储
3.文件存储的时候用的是一种固定的编码格式,但是你却用另一种编码格式打开。--文件的读取
5.如何解决乱码
什么格式存储,就什么格式读取,就不会出现乱码的情况
windows电脑的记事本文件默认为gbk编码,除此之外都是utf8格式