如此需求该如何设计实体类? 设计需求二进制socketjava 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 谢谢楼上1楼和2楼的回复。我还想表达的是,怎么设计实体类和各种方法,能做到给某个属性设置值之后,就可以得到一个Application header,示例如下:ACP protocol设置为1 Private Flag设置为0 Test Flag设置为0 Message Type设置为31(二进制即11111) Version Flag设置为0 Version设置为0 Message Control Flag设置为1010 Message Length设置为132(二进制即10000100) 由于表格中的第0位到第7位是从左到右,我们都知道应该是从右到左,那么,倒过来就是第一个byte是:11111001 第二个byte是:01010000 第三个byte是:10000100 第四个byte是:00000000 最后得到的Application header就是四个byte合起来11111001 01010000 10000100 00000000要达到的是这样的效果,并且随便拿到一个Application header也能解析出其各属性的值。 假设读取和写入的都是字节数组,我就拿前第一个字节的四个属性为例写下读取和写入的代码段,后面的楼主自己琢磨下,应该没啥难度。public class ApplicationHeader { private int _apc_protocol; private int _private_Flag; private int _test_Flag; private int _message_Type; public void read(byte[] bytes){ _apc_protocol = bytes[0] & 1; _private_Flag = (bytes[0] & 2) >> 1; _test_Flag = (bytes[0] & 4) >> 2; _message_Type = bytes[0] >> 3; } public byte[] write(){ byte[] bytes = new byte[4]; int tmp = (_apc_protocol & 1) | ((_private_Flag & 1) << 1) | ((_test_Flag & 1) << 2) | _message_Type << 3; bytes[0] = (byte)tmp; return bytes; }}什么封装属性字段的get set的方法,我就懒得贴了,累 确实是我想要的,谢谢!用byte[]更方便分都给你 Oracle 10g操作异常,很奇怪,大家快来围观。。 java类初始化的过程 纠结啊,在线等解答... 关于记事本换行问题 关于多态,望高手解惑 想请教下有没有人做过SAPJCO在solaris服务下的websphere联调的问题 这段代码为什么输出0d0a,而不是0a,我已经使用了字节流操作了。 最小集合的java支撑环境(运行环境?)~ java Map 关于<<Thinking in Java>>中的一个程序,求详解??? dos 界面 为什么没有任何输出 也没有任何错误提示 求大神指点!!! 请教一个多线程的问题
我还想表达的是,怎么设计实体类和各种方法,能做到给某个属性设置值之后,就可以得到一个Application header,示例如下:ACP protocol设置为1
Private Flag设置为0
Test Flag设置为0
Message Type设置为31(二进制即11111)
Version Flag设置为0
Version设置为0
Message Control Flag设置为1010
Message Length设置为132(二进制即10000100) 由于表格中的第0位到第7位是从左到右,我们都知道应该是从右到左,
那么,倒过来就是
第一个byte是:11111001
第二个byte是:01010000
第三个byte是:10000100
第四个byte是:00000000 最后得到的Application header就是四个byte合起来
11111001 01010000 10000100 00000000要达到的是这样的效果,并且随便拿到一个Application header也能解析出其各属性的值。
private int _apc_protocol;
private int _private_Flag;
private int _test_Flag;
private int _message_Type; public void read(byte[] bytes){
_apc_protocol = bytes[0] & 1;
_private_Flag = (bytes[0] & 2) >> 1;
_test_Flag = (bytes[0] & 4) >> 2;
_message_Type = bytes[0] >> 3;
} public byte[] write(){
byte[] bytes = new byte[4];
int tmp = (_apc_protocol & 1) | ((_private_Flag & 1) << 1) | ((_test_Flag & 1) << 2) | _message_Type << 3;
bytes[0] = (byte)tmp;
return bytes;
}
}什么封装属性字段的get set的方法,我就懒得贴了,累
用byte[]更方便
分都给你