易截截图软件、单文件、免安装、纯绿色、仅160KB

java与c#通信数据转换问题

//由于JAVA语言的数据类型都是有符号类型,而C# C++一般数据类型都是分有符号和无符号,
//因此在通信过程中传递的Byte[]无法直接转换成C#需要的类型,
//以前倒是没注意这些细节,因为一般用一种语言编程,
//大都有内置的转换方法。跨语言环境的转换就的自己动手想办法了。
1、java的Byte[]转换成c#的Int32
private int CoverJavaByteToInt(byte[] bytes){
char[] chars = Encoding.ASCII.GetChars(bytes);
int r = 0;
r |= (((int)(chars[0])) & 0xff) << 24;
r |= (((int)(chars[1])) & 0xff) << 16;
r |= (((int)(chars[2])) & 0xff) << 8;
r |= (((int)(chars[3])) & 0xff);
return r;
}
2、java的Byte[]转成c#的unshort
private ushort CoverJavaByteToUnshort(byte[] bytes){
ushort r = 0;
char[] chars=Encoding.ASCII.GetChars(bytes);
r |= (ushort)((chars[0] & 0xff) << 8);
r |= (ushort)(chars[1] & 0xff) ;
return r;
}
   此代码会出现错误在某些情况,大致原因是因为转换char时值遭到改变,应该是表示范围问题导致
private ushort CoverJavaByteToUnshort(byte[] bytes){
   ushort r = 0;
   r |= (ushort)((bytes[0] & 0xff) << 8);
   r |= (ushort)(bytes[1] & 0xff);
   return r;
}
此代码目前测试没问题了,如果谁遇到特殊情况 请与我联系
3、java的Byte[]转成c#的string
(注意:我这个函数是根据我工作需要写的因为可能存在多个string或其他数据类型在整个数据流中,如你接收的数据流就是字符串,完全可以没这么麻烦,请自行修改)///
/// 转换Byte[]到String 默认采用UTF-8///
/// 数据流的BYTE数组/// 最终转换结果字符串
/// String的在数据流中的起始位置
/// 下一个数据类型在数据流中的起始位置
private int CoverJavaByteToString(byte[] bytes,ref string str,int indexStart){
   byte[] uidLen = new byte[2];
   Array.Copy(bytes,indexStart, uidLen, 0, 2);
   ushort len = CoverJavaByteToUnshort(uidLen);
   str = Encoding.UTF8.GetString(bytes,2+indexStart, len);
   return str.Length+2+indexStart;
   }


相关文档:

sql 2005 存储过程分页 java 代码

 create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',         
@pagesize int output,--每页显示记录条数
@currentpage int output,--第几页
@orderid nvarchar(50),--主键排序
@sort int,--排序方式,1表示升序,0表示降序排列 ......

Eclipse JAVA文件注释乱码

将别人的项目或JAVA文件导入到自己的Eclipse中时,常常会出现JAVA文件的中文注释变成乱码的情况,主要原因就是别人的IDE编码格式和自己的Eclipse编码格式不同。
总结网上的建议和自己的体会,可以参考以下几种解决方式:
 1 改变整个文件类型的编码格式
    1)  eclipse->window->prefer ......

JAVA开发者最常去的20个英文网站

JAVA开发者最常去的20个英文网站
1.[http://www.javaalmanac.com] – Java开发者年鉴一书的在线版本. 要想快速查到某种Java技巧的用法及示例代码, 这是一个不错的去处.
2.[http://www.onjava.com] – O’Reilly的Java网站. 每周都有新文章.
3.[http://java.sun.com] – 官方的Java开发者网站 &ndash ......

Java学习路线


先学习j2se
要学习j2ee就要先学习j2se,刚开始学习j2se先建议不要使用IDE,然后渐渐的过渡到使用IDE开发,毕竟用它方便嘛。学习j2se推荐两本书,《java2核心技术一二卷》,《java编程思想》,《java模式》。其中《java编程思想》要研读,精读。这一段时间是基本功学习,时间会很长,也可能很短,这要看学习者自身水平而 ......

quartz一分钟教程 java任务调度

 quartz是干啥的? 任务调度用的
任务调度是干啥的?就是在预定的时间做预定的事
1.在quart网站下最新的JAR包
2.建个项目,把quartz的JAR包加入到项目
3.新建一个任务
public class MyJob implements org.quartz.Job {
@Override
public void execute(JobExecutionContext arg0) throws JobExecutionExceptio ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号