您的位置:首页 > 编程语言 > Java开发

Java 版本LRC校验

2016-01-07 16:05 483 查看
/*
* 输入字符串w 返回lrc校验部分
* @param  w=需要传输的信息  ID是地址
* @return finaldata
*/
public String Lrc(String w,int ID){
int id=ID;
//这里的代码主要是为了补全位数ID必须是四位的16进制数
String mdata=Integer.toHexString(id).toUpperCase();
String y=mdata;
for(int i=0;i<(4-mdata.length());i++){
y="0"+y;
}
String data="A,2,"+id+",A,"+y+":"+w+"#";
/**
* 这里才是LRC校验部分
*/
char[] m=data.toCharArray();
int x=0;
int l=m.length;

for(int i=0;i<l;i++){
x=x+(byte)m[i];
}
x=~x;
int d= (x&(0xff));
d+=1;
String finaldata="[A,2,"+id+",A,"+y+":"+w+"#"+Integer.toHexString(d).toUpperCase()+"]";
return finaldata;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: