python字符编码

字符编码:人类的语言 翻译(编码)二进制

保存不是目的,取出来才是目的

想要保存翻译的结果,必须采用相同的规范,也就是字符编码

ascII 一个字符占一个字节

GBK 中文使用两个字节,英文使用一个字节

Unicode 支持任何国家的语言,两个字节存储任意符号,(是优点也是缺点)

要求速度高的情况下,选择Unicode,存储在硬盘

utf-8 可以将其看作是Unicode的升级版,一个英文占一个字节,中文占3个字节

utf——8使用场景:

1.当我们需要将数据基于网络进行发送时,则必须将数据转换为二进制,GBK,UTF-8都可以,但是由于UTF-8兼容好并且节省空间,所以推荐使用UTF-8

2.存储在硬盘

乱码发生的两种情况:

1.存的时候使用的编码与取的时候不同

2.存的时候,出现了编码表中不存在的字符,例如既有英文,又有中文,但是采取了Ascll

 

如何保证不乱码:

1.存取一致

2.使用兼容万国的编码表

 

指定字符编码:

# coding:utf-8

解释器在读取py文件后需要识别语法,当在定义字符串变量时,又涉及到编码问题

py2中默认使用asc,也可以使用coding来指点,但也有乱码的可能

p3中默认就是Unicode,coding在p3中只能修改解码的过程,无法修改定义变量时的过程

 

encode将Unicode——翻译——某种指定格式的二进制如utf-8,例如:把文本写入硬盘,把文本发入网络

decode 将某种指点格式的二进制如utf-8--翻译成Unicode

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值