标签:解释执行 pytho decode 进程 enter int 关心 对应关系 错误
1、cpu:控制程序的运行(从内存中取出文本编辑器的数据读入内存)
2、内存:运行程序(经CPU操作后,内存中含有文本编辑器的数据)
3、硬盘:存储数据(文本编辑器)
4.1什么是字符编码
计算机只认识0、1代码,计算机想要读懂人类写的字符,必须经历一个过程
1.首先明确概念
2.乱码的两种情况:
存文件时,由于文件内有各个国家的文字,我们单以shiftjis去存,
本质上其他国家的文字由于在shiftjis中没有找到对应关系而导致存储失败。但当我们硬要存的时候,编辑并不会报错(难道你的编码错误,编辑器这个软件就跟着崩溃了吗???),但毫无疑问,不能存而硬存,肯定是乱存了,即存文件阶段就已经发生乱码,而当我们用shiftjis打开文件时,日文可以正常显示,而中文则乱码了。
存文件时用utf-8编码,保证兼容万国,不会乱码,而读文件时选择了错误的解码方式,比如gbk,则在读阶段发生乱码,读阶段发生乱码是可以解决的,选对正确的解码方式就ok了。
python2 | python3 |
---|---|
unicode + 指定的coding编码(str类型) | unicode+终端 |
python2:
# coding:gbk
a = '中文' # 用gbk编码存储了这堆0和1
a = u'中文' # 用unicode编码存储了这堆0和1 #加“u”是为了告诉解释器文件类型是utf8,不然就会乱码
print(a)
python3:
# coding:gbk
a = '中文' # 用unicode编码存储了这堆0和1
print(a) # 010101010
1.保证不乱码的核心法则就是,字符按照什么标准而编码的,就要按照什么标准解码,此处的标准指的就是字符编码。
标签:解释执行 pytho decode 进程 enter int 关心 对应关系 错误
原文地址:https://www.cnblogs.com/wwbplus/p/11329424.html