日期:2014-05-20  浏览次数:20796 次

java如何从parser网页上的byte数组(c#端的http)
能读取出来,但java的byte跟c#的byte不一样,所以我如何parser,在c#中,直接读取readbyte,和readint.readshort.但在java中读取一个超出127的值的byte时,解析出来跟c#不一样


---

读取c#的page.从流中取出来的的byte跟c#不同,,但这个byte[]是c#中的guid数组,我在java下怎么还原成相应的uuid,java中没有guid

两种语言的byte convert不一样,所以转出来的uuid跟guid不相同,

c#--guid--byte[] ----- java byte[] -- uuid


另外一种情况 c# 中byte[]是一些数据, 我如何在java中读取,比于byte[]中的第[1,2]是c#是的ushort 3是byte [4-12]是double......etc..

java中如何正确读取,

另一个问题,如果c#或者c++端,把byte存成大于127的值 比于233这个值存到byte中,我java端读取这个值时不是会出错呀? 

----

------解决方案--------------------
看来我的中文要加强了, 看了半天硬是没有看懂你的意思

你是要C#和Java通信,两者的byte不一样?还是说JAVA中的byte要转化为字符串?

JAVA中byte转化为字符串 String str = new String(byte[] byteArr);
------解决方案--------------------
LZ所言完全看不懂。。。。。
------解决方案--------------------
做成String来传递不可以吗?这样应该没问题吧。

如果你从网络上读取出来的byte[] 数组是一个String来的,你希望转换成String方便程序控制处理。对于Java来是特别简单
W_7K*_0l?Ye ]T3只需要String s = new String(byte,"utf-8") ; 上面是指定编码了的。
-|'BUd[)nvL ~v3
qT*i b#G#V3C#呢,也是特别简单,不过有了java思想,老是以为可以通过java的方式来做。可却发现没有sbyte这东西。
8V:[-CH(c9_ke3
9ul#s b b?3System.Text.Encoding.Default.GetString(x); 这个是C#的处理方式。
------解决方案--------------------
好费解哦
------解决方案--------------------
用字符串传递不可以吗,
------解决方案--------------------
先gzip压缩在base64,不过这样速度慢点,base64比较慢

你8楼说的问题我也不知道怎么解决,没用过C#