DLT645检验位是把检验位之前的所有16进制接起来去最后两位数
/*** DLT645校验码*/
public class DLT655 {public static String makeCheck(String data) {if (data == null || data.equals("")) {return "";}int total = 0;int len = data.length();int num = 0;while (num < len) {String s = data.substring(num, num + 2);total += Integer.parseInt(s, 16);num = num + 2;}/*** 用256求余最大是255,即16进制的FF*/int mod = total % 256;String hex = Integer.toHexString(mod);len = hex.length();// 如果不够校验位的长度,补0,这里用的是两位校验if (len < 2) {hex = "0" + hex;}return hex.toUpperCase()+"16";}}
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态