python decode()encode() 编码转换与计算机编码通俗理解

直接说python中的decode encode

是用来转码的(编码转换)。

decode()英文意思:解码 ,一个人脱了衣服(无论穿什么,脱了都一样)。
encode()英文意思:编码,一个人可以穿不同的衣服(穿啥由你决定)。
python中脱了衣服都是unicode编码。字符串在python内部表示是unicode。

Q:想要将gb18030编码转码为utf-8
A:必须先将其解码为unicode,然后再重新编码成utf-8,以unicode为中间人。
如,line=‘自然语言处理’,如果是在utf-8的文件中,该字符串就是utf-8编码,如果是在gb18030的文件中,则其编码为gb18030。
假如在gb18030的文件中,如何将gb18030编码转换为utf-8:要先解码(脱)为unicode,再编码(穿)。code: line.decode('18030).encode('utf-8')
Q:想要将unicode编码转码为utf-8
如果这个字符串就是unicode编码,则直接穿:line.encode('utf-8')

编码知识

简介

计算机只认识0和1。我们在电脑上看到的文字,只有先变成0和1,计算机才能识别它。
这种数据转换为二进制,二进制转换为数据就是编码。

编码发展史

  • ASCII:美国人发明的计算机,用8位0和1的组合,一一对应英文中的字符,整出了一个表,就是ASCII表。
  • GB23122:计算机传入中国,中文博大精深,简体字繁体字多,8位满足不了了,扩展了ASCII表,新表叫GB2312。
  • GB18030:GB2312还不够用,扩充成GB18030。
  • 各国各编码:每个国家都搞,各种各样的编码。
  • Unicode:各自编码无法国际交流,国际组织搞了一个Unicode。规定所有字符就两个字节,就是固定的。2的16次方够表示所有的字符了。
  • utf(utf-8、utf-16等):美国人不愿意了,人家8位就够用了,unicode却让他们的语言多了一个字节,白浪费了一个字节空间。协商后,出现了utf。
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值