Python 编码相关

一、编码
常用的编码格式:ASCII、Unicode、utf-8
这三个都是一种编码格式,最初是ASCII编码支持的编码范围有局限性,出现乱码的问题。后来出现了Unicode新的编码格式解决了乱码的问题,但是Unicode编码一个字符占用两个字节,在处理中文等时完全可以满足,但是在处理英文时有些浪费(主要是体现在文件存储和传输上)。于是出现了utf-8新的编码格式,utf-8编码的长度是可变的,可以根据Unicode字符数据的大小将数据编码成1-6个字节,把英文编码成1个字节(英文1个字节,汉字3个字节,生僻字4-6个字节),Unicode字符经过utf-8转换之后就可以节省空间。utf-8编码包含了ASCII编码。
ASCII   1个字节
Unicode  2个字节(生僻字4个字节)
utf-8  1-个字节,英文1个字节,汉字3个字节,生僻字4-6个字节
数据流转时编码格式的转换:

所以,文件在保存的时候可以是各种格式,在代码中可以将读取出的文件或者是中文等转换成utf-8,然后再加载到内存中就不会有问题了(在Windows环境数据存储时可以有多种编码格式存储gbk等)
编码与解码:
编码解码是不同编码格式之间相互转换的一种关系,Python中Unicode和utf-8两者之间:utf-8转Unicode称为解码,Unicode转utf-8称为编码
*.decode()解码。  例如将其他编码解码为Unicode编码
*.encode()编码。例如将Unicode格式编码为指定编码

在含有中文的代码文件中要在文件的开头加上 #-*- coding:utf-8 -*-  指定文件的编码格式为utf-8格式,不写有可能报错
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值