我开始研究一些我即将接手的项目的网络编程概念,并且我一直在探讨这个八位字节串的概念.任何人都可以提供一些反馈,了解它是什么,以及它与网络编程有何关系?
小智 18
假设二进制00000000到11111111的表示为十六进制的0x00到0xFF.然后octetString只是00到FF.
将几个八位字节组合成一个字符串就像0x00 0x01 0x02 ...或者只是000102 ..作为一个八位字符串.
二进制文件可以编码为八位字节串,并以包含0-F字母的ASCII字符串形式从webbclient发送到服务器,如a8b9457fc6e3e410589f或它的大写字母.有一些使用BASE-64编码的javascript用于在Strings中存储图片.较大的字母表,在这种情况下(我认为)AZ,az,0-9,需要传输的数据越少.每个八位字节有256个不同的可能值,并且要以62个字母的字母存储,显然需要使用多个字母/八位字节.可能理论数与log62(256)成正比.
结论是,改进的可读性比二进制版本占用更多的空间,在八比特流的例子中它是两倍长,因为每个ascii char是8位,2个字符(16位)表示八位的八位字节.效率很低.
八位字符串:
它是有限8位模式下的信息表示.在将数据从电子设备的点传输到另一个设备点或任何其他设备的过程中,需要将它们转换为最小尺寸的包.因此它用于将主要数据划分为小型且系统可理解.例如:因此,二进制101001111000中的整数2680将转换为该7位格式,如下所示:
Remaining integer-------------------encoded bytes
101001111000------------------------
10100-------------------------------01111000
0-----------------------------------11111000&00010100
其中,(120)(20)分别表示为十进制.然后将120除以16的商店作为结果= 7&reminder = 8再次将20除以16商店作为结果= 1&reminder = 4
新的数字形式是0X78 + 0X14
这里78和14是Octet String.
将它们编码为正常阶段:((16*7)+8)*128 ^ 0 +((16*1)+4)*128 ^ 1 = 2680
我认为这是更好的解释,但我仍然在寻找更多.请帮我搞清楚字母表.我认为这取决于它的ASCII值.