【20171225】编解码

python中的编码和解码
编码 encode() :unicode ——> str 【string ——> byte】
unicode字符串 ——> 转换为特定字符编码(ascii、utf-8 等)对应的字节串的过程
编码给计算机底层用的
解码 decode() :str ——> unicode 【byte ——> string】
特定字符编码(ascii、utf-8 等)的字节串 ——> 转换为对应unicode字符串的过程
解码是显示给人看的



【知识点】
1、python默认用 ascii编码,ascii不支持中文
所以 python代码开始加上 #coding=utf-8 或 #coding=gbk,否则代码中的中文会报错
2、unicode是字符串,ascii、utf-8、gbk等是字节串
ascii、utf-8、gbk 都是编码方式,字符 ——> 编码为 ——> 字节码

unicode
所有字符【符号集,只规定符号的二进制代码,没规定这个二进制代码该怎么存储】
   
ascii
英文字母、数字、特殊字符
utf8
所有语言【使用最广的一种 unicode实现方式】
gbk
简体中文
gb2312
简体中文
gb18030
简体中文
big5
繁体中文
big5hkscs
繁体中文
   
\u4e2d\u6587
十六进制
u'你好' 
u是unicode的编码


【编解码过程】

 

1、默认编码
#coding=utf-8
import sys

# 打印默认编码
print(sys.stdout.encoding)  # 控制台(pycharm)的编码
print(sys.getdefaultencoding()) # python的编码

2、编解码实例

#coding=utf-8

s = '你好'
print('开头需加上 #coding=utf-8: ',s)

a = '中国'
b = u'中国'
c = '中国'.encode('utf-8')
d = b'\xe4\xb8\xad\xe5\x9b\xbd'.decode('utf-8')

print('字符串:',a,type(a),len(a))
print('unicode编码:',b,type(b),len(b))
print('编码:',c,type(c),len(c))
print('解码:',d,type(d),len(d))

 

posted @ 2017-12-27 18:14  白小白001  阅读(150)  评论(0编辑  收藏  举报