一开始可不是8位,历史上有过以各种位数定义为1字节,比如4位7位等
,Byte这个词最早就是用来定义所生产的机器的字符编码长度,或指令长度,那个时候并没有通用的硬件架构,所以不同厂商的机器是不兼容的,指令集不兼容,字符集也不兼容。
现在8位1字节有约定俗成的关系在里面,这成了一个共识
。这么说吧,现在你可以自己定义字节的含义,比如10位1字节,基于此生产机器,定义指令,你看看谁来给你的机器写程序,没人会陪你玩,所以大家都遵从8位1字节的定义。
你再看看各种rfc文档里,其实提到字节的时候用的词都是Octet而不是Byte,就是因为Byte有歧义,Octet明确指的就是8位1字节
参考
为什么一个字节定义成8位? - 知乎
为什么一个字节是八个bit_孙雪峰-CSDN博客_1个字节等于多少bit