python3前篇【2】——基础编码

我们都知道,计算机只能识别由01组成的机器码,通过不同个数的0和1的不同组合,可以对应不同的含义,所以看到一串二进制码,只要知道每个字符用什么二进制码表示,就能知道这串二进制码代表的含义。但如果每个字符对应的二进制码长度不同,我们应该怎么对收到的二进制码进行划分呢,如字符与二进制码的对应关系如下:

你  01

好 0101

吗 101

当接收到010101101时,使用不同的划分方法得到的结果就不同。

所以我们不仅要规定每个字符对应的二进制码,还要规定代表一个字符的二进制码的长度,比如规定八位二进制码代表一个字符,则上面的对应关系可以改为:

你  0000 0001

好 0000 0101

吗 0000 1011

此时如果收到了000000010000010100001011,我们首先将其进行划分,每8个分为一段,可以得到:00000001 00000101 00001011,此时对照上面的对应关系,就可以得到:你好吗。

总结一下就是,计算机需要存储数据和通过网络传输数据,计算机存储在磁盘中的数据或者通过网络发送的数据本质都是bit流,即000000010000010100001011,这些00001011需要与我们的文字有标准的对应关系,这样我们才能够识别计算机中的数据。

一、ASCII码

最开始使用的是ASCII码(American Standard Code fo Information Interchange,美国标准信息交换码),它只包含英文字母、数字以及特殊字符与二进制的对应关系,最初只有7位(bit),后来改为8位(一个字节),因为2**8 = 256,所以ASCII码最多只能表示256个符号

二、GBK

随着不断的发展,世界各地都开始使用计算机,这时候ASCII码就不能满足大家的要求了,比如中国的汉字就有几万个,但ASCII码最多只有256个,所以不同国家就提出了不同的编码用来适用于各自的编码环境,GBK全称《汉字内码扩展规范》(GBK即“国标”、“扩展”汉语拼音的第一个字母,英文名称:Chinese Internal Code),它只包含本国文字以及英文字母、数字、特殊字符与二进制码的对应关系。

GBK完全沿用ASCII码中的内容,英文使用单字节(1bytes)编码,中文采用双字节(2bytes)编码。

三、Unicode

Unicode也称万国码,是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言,跨平台进行文本转换、处理的要求。

起初,Unicode规定一个字符用两个字节表示,但是还是不能满足要求,所以改为一个字符用四个字节表示。

四、UTF-8

虽然Unicode实现了跨语言跨平台的文本转换,但是比较浪费资源,比如a本来可以用一个字节表示,现在却需要用4个字节表示。所以需要对Unicode进行优化。

UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,它是对Unicode编码的压缩和优化。其最少使用8bit来表示一个字符,具体如下:

英文: 8bit,1个字节表示

欧洲文字:16bit,2个字节表示

中文,亚洲文字:24bit,三个字节表示

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值