java与c/c++进行socket通信(1)

本文介绍Java在网络通信中与Windows平台语言(如C/C++, Delphi)进行数据交换时所需的字节序转换方法。由于Java始终采用高位字节优先(Big Endian)格式,而Windows平台通常使用低位字节优先(Little Endian),因此实现跨平台的数据一致性至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java和一些windows编程语言如c、c++、delphi所写的网络程序进行通讯时,需要进行高、低字节之间的转换,windows的字节序为低字节开头,linux,unix的字节序为高字节开头;java则无论平台变化,都是高字节开头
/**  
* 通信格式转换  
*  
* Java 和一些windows编程语言如c、c++、delphi所写的网络程序进行通讯时,需要进行相应的转换  
* 高、低字节之间的转换  
* windows的字节序为低字节开头  
* linux,unix的字节序为高字节开头  
* java则无论平台变化,都是高字节开头  
  */    
  
public   class  FormatTransfer {  
/**  
  * 将 int转为低字节在前,高字节在后的byte数组  
  * @param n int  
  * @return byte[]  
  */   
public   static   byte [] toLH( int  n) {  
 byte [] b =  new   byte [ 4 ];  
 b[0 ] = ( byte ) (n &  0xff );  
 b[1 ] = ( byte ) (n >>  8  &  0xff );  
 b[2 ] = ( byte ) (n >>  16  &  0xff );  
 b[3 ] = ( byte ) (n >>  24  &  0xff );  
 return  b;  
}  
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值