计算机编码种类(ASCII/gbk/unicode/utf-8)

计算机编码的作用

主要是解决将文字转换为二进制码的过程:

bytes–>encode–> str --> decode --> bytes

ASCII

只适合英文编码,用一个字节来表示,最多表示256的字符。


gbk

可以表示中文,两个字节表示,但是每个国家都存在自己语言的编码,没有统一起来;


unicode

编码界的通用语言,包含了跟全球所有国家的字符映射关系。
两个字节表示,若表示ascii原本只需要一个字节,现在需要两个字节,在存储和传输过程就出现了资源浪费,例如:
字母A用ascii编码是十进制的65,二进制的01000001。
数字0用ascii编码是十进制的48,二进制的00110000。
汉子“中”已经超出了ascii编码的范围,用unicode编码是十进制的20013,二进制的00101101。
如果把ascii编码的A用unicode编码,只需要在前面补0就可以,因此,A的Unicode编码是00000000 01000001,所以编码存储ascii中的字符的时候会占用双倍的内存空间。


utf-8

utf-8编码把一个Unicode字符根据不同的数字大小编码成1-6个字节,常用的英文字母被编码成1个字节,汉子通常是3个字节,只有很生僻的字符才会被编码成4-6个字节。如果要传输的文本中包含大量的英文字符,用utf-8就会很节省空间。


在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就以utf-8的格式编码,例如用记事本编辑的时候,从文件读取utf-8字符被转换为Unicode格式字符加载到内存里,编辑完成后,保存的时候再把Unicode转换为utf-8格式保存到文件。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值