java 和c的转换问题,高手请进 你是想黑心换成有同样功能的java方法呢,还是想转换文件?在java中是没有指针的。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 java中socket编程不会用到此类函数。htons就是16位整数转为网络字节顺序2就是0x0002, 即sClientTypeH[0]=0x00; sClientTypeH[1]=0x02;你需要转成什么样的? 当然是转化成具有同样功能的方法了很多c的通信都是用到htons的然后转化成char数组的现在是想让java同以前的c服务端通信需要这种各式转换 java中用byte t[2]对于c里的sClientTypeH[2]就行。至于转16进制之类的java里都有 对于2可以这样sClientTypeH[0]=0x00;sClientTypeH[1]=0x02;对于htons()里的是一个变量怎么办? 另外还有htonl的怎么转换? 至于变量,一样处理n=1024;[0]=n>>8;[1]=n&0xff;long l = htonl(0x12345678); //结果0x78563412memcpy(buf,&l,sizeof(l));buf[]中将是0x12,0x34,0x56,0x78 那么对于long的变量怎么处理呢? n>>8出来的是short怎样转换成char类型在java中char类型和c中的是不是一样的 不需要转char c=n>>8;java中用byte,c中用char 但是编译不通过说不能将int转换成char还有htonl(n)怎么转换里面是个变量 不需要转char c=n>>8;-----------------------指c中java中byte b=(byte)(n>>8);对于long同理n>>24n>>16n>>8n&0ffjava与c通信,如果c端能改,不用做这么复杂吧JAVA: String->byte[]->...>char[]:C 为什么我在将byte还原成short就不对了呢,怎么解决啊。急。。short sh=1233;short s1=(short)(sh>>8);short s2=(short)(sh&0xff);byte b1=(new Integer(s1)).byteValue();byte b2=(new Integer(s2)).byteValue();System.out.println(sh+","+s1+","+s2);System.out.println(sh+","+b1+","+b2);short s3=(short)(((short)((new Byte(b1)).shortValue())<<8));s3+=(short)((new Byte(b2)).shortValue());System.out.println(s3);结果是:1233,4,2091233,4,-47977 今天的面试题 用JTextArea,JList还是JTable显示ArrayList中的数据? A a = null; 与 A a 没有初始化有什么区别? 帮小弟一个忙:这个程序有什么问题 jmf播放MP3问题 JDK的源代码可以自己编译吗? 我的泡排序:错在那里?(谢谢) Java 入门遇到困难 请问:这样的情况这么解决 初学JAVE的才鸟问一个初级问题,青各位高手解答! 如何将Vector类型存入数据库,从数据库取出后又还原为Vector型? 弱弱的问:编码的疑惑?:(
htons就是16位整数转为网络字节顺序
2就是0x0002, 即sClientTypeH[0]=0x00;
sClientTypeH[1]=0x02;你需要转成什么样的?
很多c的通信都是用到htons的然后转化成char数组的
现在是想让java同以前的c服务端通信
需要这种各式转换
sClientTypeH[0]=0x00;
sClientTypeH[1]=0x02;对于htons()里的是一个变量怎么办?
怎么转换?
n=1024;
[0]=n>>8;
[1]=n&0xff;long l = htonl(0x12345678); //结果0x78563412
memcpy(buf,&l,sizeof(l));
buf[]中将是0x12,0x34,0x56,0x78
在java中char类型和c中的是不是一样的
char c=n>>8;java中用byte,c中用char
还有htonl(n)怎么转换里面是个变量
char c=n>>8;
-----------------------
指c中
java中byte b=(byte)(n>>8);对于long同理
n>>24
n>>16
n>>8
n&0ff
java与c通信,如果c端能改,不用做这么复杂吧
JAVA: String->byte[]->...>char[]:C
short sh=1233;
short s1=(short)(sh>>8);
short s2=(short)(sh&0xff);
byte b1=(new Integer(s1)).byteValue();
byte b2=(new Integer(s2)).byteValue();
System.out.println(sh+","+s1+","+s2);
System.out.println(sh+","+b1+","+b2);
short s3=(short)(((short)((new Byte(b1)).shortValue())<<8));
s3+=(short)((new Byte(b2)).shortValue());
System.out.println(s3);
结果是:
1233,4,209
1233,4,-47
977