计算机网络-字符编码的由来(为什么会有乱码,ASCII、Unicode、GBK和UTF-8字符编码区别)

字符编码是网络数据传输的基础,从ASCII的单字节表示,到GBK、Unicode的多字节表示,再到UTF-8的变长编码。网络通信中,统一的字符编码至关重要,否则可能导致乱码。例如,UTF-8编码兼容ASCII且节省空间,适用于多语言环境,而GBK编码则主要用于中文。当发送方和接收方编码不一致时,会出现乱码问题。理解字符编码有助于解决网络通信中的字符显示问题。

       为什么我们在网络中传输数据,需要指定字符编码,例如使用UTF-8、GBK等编码。那么字符编码到底是什么?以前我也很困惑这个问题,但是学习了计算机网络后我们知道,由于底层电路的设计本质,只能是识别0和1两种代码,那么传递的也只能是0和1了。

前面的文章数据包传输、学习路由器、交互机的时候就讲了数据包传输的本质是0和1。
计算机网络-网络包介绍以及网络包如何通过互联网传输

       既然计算机只能识别0和1,那怎么才能把0和1转成我们的中文、英语等各种字符语言呢?

首先复习一下基础知识-字节

  • 计算机内部数据的最小单位是位(bit),我们用二进制数 0 或 1 来表示,即一个bit不是0就是1。
  • 在计算机中,把 8 位聚在一起的二进制数称为一个字节(byte),即 1 字节(byte)= 8 位(bit)。
  • 字节是计算机中表示数据大小的基本单位。通常字节(byte)用大写字母 B 表示,位(bit)用小写字母 b 表示。
    例如:16 位二进制数就是 2 字节(2B),32 位二进制数就是 4 字节(4B)(见图 1)。

在这里插入图片描述
在这里插入图片描述

单位转算:
1B(Byte)=8b(bit)
1KB=1024B
1MB=1024KB
1GB=1024MB

       综上所述,一个字节就是有8位,即有8个0或1组成的数字顺序就叫一个字节。字节是计算机中表示数据大小的基本单位。 8位转成十进制,即2的8次方(2222222*2)=256,第一个是0开始,所以就一个字节可以表示0-255的数字范围

注:可能有小伙伴有疑问,为什么是8位表示一个字节,10位不行吗?8位是只是目前世界约定好的单位,就像尺子一厘米有多长,为什么是这么长。因为在设计的时候大家约定好就是这样。当然8位也有由来,是跟ASCII编码有关的,8位满足所有ASCII编码的字符对应,有兴趣再查查资料。

再回顾一下网络中的数据包

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值