易截截图软件、单文件、免安装、纯绿色、仅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;
   } ......


相关文档:

C#与Flash交互

C#与Flash交互 (转自小磊在线)
C#与Flash交互
前段日子公司要求做一个C#与Flash交互的东西,用来C#与短信猫通讯将数据传到Flash上显示与操作的应用。
第一步C#添加组件
打开VS2005-工具-选择工具箱项-COM组件-选择Shockwave Flash Object-确定
添加好组件往场景上拖放,如果提示注册需求注册
c# 注册控件-在运行输 ......

C#中解析javascript代码


大部分的解释型脚本语言都提供 eval 方法来完成动态代码的解释执行, C# 却并不提供(向 Java 学习)。不过在 .NET Framework 类库里面提供的 Microsoft.JScript 命名空间倒是包含了支持使用JScript 语言编译和生成代码的类。
先上代码:
  该类需要你添加对程序集 Microsoft.JScript 的引用;如果把“current v ......

c#中的Ajax上手篇---非同步请求responseXML

我们可以使用XML作为数据传送、沟通的格式,Ajax客户端若要发送XML,基本上就是将XML作为字符串,在POST请求时发送,例如:
*HelloAjax.js
view plaincopy to clipboardprint?
var xmlHttp;  
function createXMLHttpRequest() {  
    if (window.XMLHttpRequest) {   ......

asp.net(c#) static关键字用法小结

静态变量
       当我们编写一个类时,其实就是在描述其对象的属性和行为,而并没有产生实质上的对象,只有通过new关键字才会产生出对象,这时系统才会分配内存空间给对象,其方法才可以供外部调用。
       有时候,我们希望无论是否产生了对象或无论 ......

JAVA定时执行任务的三种方法

JAVA定时执行任务的三种方法 
1) java.util.Timer
这个方法应该是最常用的,不过这个方法需要手工启动你的任务:
Timer timer=new Timer();
timer.schedule(new ListByDayTimerTask(),10000,86400000);
这里的ListByDayTimerTask类必须extends TimerTask里面的run()方法。
2) ServletContextListener
这个方法 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号