数组与底层数据传输(未完)

数组

数组(arrary)是一个简单的复合数据类型,它是一系列有序数据的集合,它当中的每一个数据都具有相同的数据类型,我们通过数组名加上一个不会越界下标值来唯一确定数组中的元素。
java 有基本类型数组,byte[ ] 存放byte型数据,byte大小是八位,计算机自己也是八位
一个字节(byte)=8位(bit),“byte数组”里面全部是“byte”,即每一个byte都可以用二进制、十六进制、十进制来表示
首先八位二进制数0000 0000 ~1111 1111,一共可以表示2^8=256位数,

如果想要表示无符号整数,可以表示0~255。

如果想要表示有符号整数,就要将最前面一个二进制位作为符号位,即0代表正数,1代表负数,后面7位数值域可以表示0~127,这就是原码定义。
在Java工程代码中:

二进制:00010110 ------> 02^7 + 02^6 + 12^5 + 02^4 + 12^3 + 12^2 + 02^1 + 02^0 = 22
16进制: 0x16 ----------> 116^1 + 616^0 = 22
十进制:22

所以下面三者等价:

byte [] aa = {00010110, 01010010, 10111000};
byte [] aa = {0x16, 0x52, 0xB8};
byte [] aa = {22, 82, 184};

底层传输解析

网络传输:

如果是自己程序间的对接,byte[]类型理论上就够了(实际上也不够,哈哈),在传输段传输byte[]类型,收取端收取byte[]类型,然后转化为原格式就可以了。

“a张”编码—>byte[0]=97、byte[1]=229、byte[2]=188、byte[3]=160(byte[0]=01100001、byte[1]=11100101、byte[2]=10111100、byte[3]=10100000)—>传输—>收取为byte[]—> 解码“a张”。

编码这本本书还是要读一读的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值