python2
- python2中默认使用的是ASCII码. 所以不支持中文. 如果需要在Python2中更改编码.
需要在文件的开始编写:
# -- encoding:utf-8 --
python3
在内存中使用的是unicode码
编码回顾
- ASCII : 最早的编码. ⾥里里⾯面有英文大写字母, 小写字母, 数字, 一些特殊字符. 没有中文,
8个01代码, 8个bit, 1个byte - GBK: 中文国标码, ⾥面包含了了ASCII编码和中文常用编码. 16个bit, 2个byte
- UNICODE: 万国码, ⾥面包含了了全世界所有国家文字的编码. 32个bit, 4个byte, 包含了
ASCII - UTF-8: 可变⻓度的万国码. 是unicode的⼀种实现. 最小字符占8位
1.英文: 8bit 1byte
2.欧洲文字:16bit 2byte
3.中文:24bit 3byte
综上, 除了ASCII码以外, 其他信息不能直接转换
在python3的内存中. 在程序运行阶段. 使用的是unicode编码. 因为unicode是万国码. 什么内
容都可以进行显示. 那么在数据传输和存储的时候由于unicode比较浪费空间和资源. 需要把
unicode转存成UTF-8或者GBK进行存储. 怎么转换呢. 在python中可以把文字信息进行编码.
编码之后的内容就可以进行传输了了. 编码之后的数据是bytes类型的数据.其实啊. 还是原来的
数据只是经过编码之后表现形式发生了改变⽽而已.