java 和 C 的高低字节转换? 我在C中的16进制是 0x0302 ,但在java中却是 0x0203,因为我的是int型的数据, 转换成十六进制我才发现这个问题……怎么样才能把高低字节交换啊? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你是说java通过DataOutputStream写出的int的字节序跟C不一样吧?你可以参考DataOutputStream, 实现一个自己的输出流, 让它的字节序跟C一样 你的java和C都是怎样转换为16进制的? 都用网络字节序就好了。java都是用网络字节序的,除非是自己写的序列化代码;C的字节序用宏__BYTE_ORDER就知道了,用htons(),htonl(),ntohs(),ntohl()就可以保证编码一定要规范 现在用java写个方法,把比如int a = 0x0203; 通过方法后,成为: 0x0302,怎样实现,不用管c 这种改法只是临时起作用,建议还是按照规范修改Java和C的代码,否则以后不好维护。至于这个:int a = 0x2030;int b = ((a >> 24) & 0xff) + (((a>>16)&0xFF)<<8)+(((a>>8)&0xFF)<<16)+((a>>24)&0xFF); 最后一个错了int a = 0x2030;int b = ((a >> 24) & 0xff) + (((a>>16)&0xFF)<<8)+(((a>>8)&0xFF)<<16)+((a<<24)&0xFF); 窗口关闭问题 汇总Java面试题目网络资料(抛砖引玉) Collection 和 Set 为什么在new Student();处F5无法跟进 如何实现统计代码中的方法数? 有人研究过Lucene的算法么? 请教:关于界面自动生成中布局的问题 怎么运行小应用程序?? 菜鸟高分求教: 如何取得URL地址? 很菜的问题:j2se可以做什么样的开发? 一个小问题 一个很郁闷的java线程运行结果问题,
你可以参考DataOutputStream, 实现一个自己的输出流, 让它的字节序跟C一样
java都是用网络字节序的,除非是自己写的序列化代码;
C的字节序用宏__BYTE_ORDER就知道了,用htons(),htonl(),ntohs(),ntohl()就可以保证编码一定要规范
现在用java写个方法,把比如int a = 0x0203; 通过方法后,成为: 0x0302,
怎样实现,不用管c
至于这个:int a = 0x2030;
int b = ((a >> 24) & 0xff) + (((a>>16)&0xFF)<<8)+(((a>>8)&0xFF)<<16)+((a>>24)&0xFF);
int a = 0x2030;
int b = ((a >> 24) & 0xff) + (((a>>16)&0xFF)<<8)+(((a>>8)&0xFF)<<16)+((a<<24)&0xFF);