字节转换问题

hye4 2008-10-26 06:20:13
Void MakePacket(char* buff, int buff_size, const char* a_string)
{
int len = 0;
memset(buff, 0, buff_size);
strcpy(&buff[2], a_string);
/* 将包的前后置包的长度(不包含长度本身) */
len = strlen(a_string);
buff[0] = buff[len + 2] = len % 256; /* 低位在前 */
buff[1] = buff[len + 3] = len / 256; /* 高位在后 */
}

谁帮忙用java实现上面这个函数?
...全文
70 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuxuejin 2008-10-26
  • 打赏
  • 举报
回复
什么意思啊 ?? len = strlen(a_string);
buff[0] = buff[len + 2] = len % 256; /* 低位在前 */
buff[1] = buff[len + 3] = len / 256; /* 高位在后 */
}

这句话是什么意思啊!!
hye4 2008-10-26
  • 打赏
  • 举报
回复
高人不高人,
java__king 2008-10-26
  • 打赏
  • 举报
回复
1楼是个高人.
wyyl00 2008-10-26
  • 打赏
  • 举报
回复
楼上好快的说
fosjos 2008-10-26
  • 打赏
  • 举报
回复
void MakePacket(char[] buff, int buff_size, char[] a_string) 
{
int len = 0;
Arrays.fill(buff, 0);
System.arraycopy(a_string, 0, buff, 2, a_string.length);
/* 将包的前后置包的长度(不包含长度本身) */
len = a_string.length;
buff[0] = buff[len + 2] = len % 256; /* 低位在前,应该用len & 0xff */
buff[1] = buff[len + 3] = len / 256; /* 高位在后,应该用len >> 8 */
}

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧