python字符编码

python字符编码

理论知识

1.字符编码只针对文本数据
2.计算机内部存储数据的本质为储存二进制数据
3.需要一个数字跟字符的对应关系 存储该关系的地方称为>>>:字符编码本

4.字符编码发展史
4.1.一家独大
计算机是由美国人发明的 为了能够让计算机识别英文
需要发明一个数字跟英文字母的对应关系
ASCII码:记录了英文字母跟数字的对应关系
用8bit(1字节)来表示一个英文字符
            
4.2群雄割据
中国人
    GBK码:记录了英文、中文与数字的对应关系
    用至少16bit(2字节)来表示一个中文字符
    很多生僻字还需要使用更多的字节
    英文还是用8bit(1字节)来表示     
    日本人
    shift_JIS码:记录了英文、日文与数字的对应关系
    韩国人
    Euc_kr码:记录了英文、韩文与数字的对应关系
  	"""
  	每个国家的计算机使用的都是自己定制的编码本		
  	不同国家的文本数据无法直接交互 会出现"乱码"
  	"""
4.3.天下一统
    unicode万国码
    兼容所有国家语言字符
  	起步就是两个字节来表示字符 
    
  	utf系列:utf8 utf16 ...
    专门用于优化unocide存储问题
    英文还是采用一个字节 中文三个字节

实际操作

1.针对乱码切换编码慢慢尝试试即可
2.编码与解码
	编码:将人类的字符按照指定的编码编码成计算机能够读懂的数据
        字符串.encode()
 	解码:将计算机能够读懂的数据按照指定的编码解码成人能够读懂
        bytes类型数据.decode()
3.python2与python3差异
	python2默认的编码是ASCII
		1.文件头
        	需要使用uf8编码方式时需要加encoding:utf8在代码起始位置
    	2.字符串前面加u
        	u'你好啊'
 	python3默认的编码是utf系列(unicode)
posted @ 2022-09-30 15:55  逐风若梦  阅读(143)  评论(0)    收藏  举报