Python Unicode、ASCII、UTF-8编码对比
对比
-
英文:Hello ------> 01011100111(ascii码对照表)
8位表示 2^8 = 256
-
万国码:Unicode
H------> 00111001 X 4 = 32 位 2^32
中------>…
-
ha ------> 16位(ASCII码)
ha ------> 64位(Unicode码)占用存储空间更大
-
UTF-8,对万国码压缩
ASCII:H ------> 01011100
Unicode: H ------> 00000000 00000000 00000000 01011100
UTF-8:H ------> 01011100
Unicode:A ------> 00000000 00000000 00000010 01001100
UTF-8:A ------> 00000010 01001100
-
python2默认用:ASCII码
python3默认用:UTF-8 -
指定默认编码:
# -*- coding:utf-8 -*-
笔记
-
初识编码
- ascii,英文,8位 表示一个东西,2**8
- Unicode,万国码,32位表示一个东西,2**32
- utf-8,给Unicode压缩,用尽量少的位数表示一个东西,以8个位为单位
-
python解释器编码
-
python2:ascii,在文件头部加:
# -*- coding:utf-8 -*- print('你好')
-
python3:utf-8
-
-
文件编码
建议:编写文件时,保存文件要用 utf-8 格式。
以什么编码保存,就要用什么编码方式打开,否则出现乱码。