public classHexUtil {public static byte[] hexStringToBytes(String hexString) {if (hexString == null || hexString.equals("")) {return null;

}//toUpperCase将字符串中的所有字符转换为大写

hexString =hexString.toUpperCase();int length = hexString.length() / 2;//toCharArray将此字符串转换为一个新的字符数组。

char[] hexChars =hexString.toCharArray();byte[] d = new byte[length];for (int i = 0; i < length; i++) {int pos = i * 2;

d[i]= (byte) (charToByte(hexChars[pos]) << 4 | charToByte(hexChars[pos + 1]));

}returnd;

}//charToByte返回在指定字符的第一个发生的字符串中的索引,即返回匹配字符

private static byte charToByte(charc) {return (byte) "0123456789ABCDEF".indexOf(c);

}public static String BinaryToHexString(byte[] bytes) {

String hexStr= "0123456789ABCDEF";

String result= "";

String hex= "";for (byteb : bytes) {

hex= String.valueOf(hexStr.charAt((b & 0xF0) >> 4));

hex+= String.valueOf(hexStr.charAt(b & 0x0F));

result+=hex ;

}returnresult;

}//两位一字符,倒序排序

public staticString reverseString(String str) {

List strlist=newArrayList();char[] chr =str.toCharArray();for (int i = 0 ; i < chr.length; i=i+2) {

String s=chr[i]+""+chr[i+1];

strlist.add(s);

}

Collections.reverse(strlist);

String result="";for(String v:strlist){

result+=v;

}returnresult;

}/*** 16进制转换成为string类型字符串

*@params

*@return

*/

public staticString hexStringToString(String s) {if (s == null || s.equals("")) {return null;

}

s= s.replace(" ", "");byte[] baKeyword = new byte[s.length() / 2];for (int i = 0; i < baKeyword.length; i++) {try{

baKeyword[i]= (byte) (0xff & Integer.parseInt(s.substring(i * 2, i * 2 + 2), 16));

}catch(Exception e) {

e.printStackTrace();

}

}try{

s= new String(baKeyword, "UTF-8");newString();

}catch(Exception e1) {

e1.printStackTrace();

}returns;

}/*** 字符串转化成为16进制字符串

*@params

*@return

*/

public staticString strTo16(String s) {

String str= "";for (int i = 0; i < s.length(); i++) {int ch = (int) s.charAt(i);

String s4=Integer.toHexString(ch);

str= str +s4;

}returnstr;

}//将16进制字符串自动补全到8位 并且倒序排序

public staticString full8(String lenth) {int a =lenth.getBytes().length;int b = 8 -a;for (int i = 0; i < b; i++) {

lenth= "0" +lenth;

}returnreverseString(lenth);

}/*** xor运算

*

*@paramdata

*@return

*/

public static String getBCC(byte[] data) {

String ret= "";byte BCC[] = new byte[1];for (int i = 0; i < data.length; i++) {

BCC[0] = (byte) (BCC[0] ^data[i]);

}

String hex= Integer.toHexString(BCC[0] & 0xFF);if (hex.length() == 1) {

hex= '0' +hex;

}

ret+=hex.toUpperCase();returnret;

}

}

java优先级对接_Java对接硬件接口,采用Scoket连接,数据报文通信相关推荐

  1. 序列化解决方案,就是采用二进制通信协议(数据报文格式)

    前言 所谓的序列化解决方案,就是对象和二进制互相转换的解决方案. 为什么要采用二进制呢?这里有几个点要理解清楚. 1.应用程序里的数据是对象 2.网络传输的过程中一直是二进制 不管有没有进行对象和二进 ...

  2. java复核审查_java对接七牛后台进行内容审核(鉴黄、敏感人物、暴恐)

    关于七牛内容审核的介绍 在七牛的控制台找到智能多媒体 接下来找到智能内容审核,可以看到一些审核数据情况,主要包含:鉴黄.暴恐.敏感人物 另外看一下API接口说明: 查看地址是:https://deve ...

  3. java 团购_java短信接口和团购网站强强结合,优势明显

    近几年团购网站风行,特别是经过市场的角逐.竞争.发展以后,剩下的都是非常具代表性的,也是用户朋友经常去的团购网站平台,可是这些剩下的团购平台依然保持着很大的竞争意识,java短信接口平台的加入,更是使 ...

  4. java中塑形_Java学习5——接口和多态

    1 接口 接口相当于一个完全抽象的,没有任何实现的类 所有的成员函数都是抽象函数 所有的成员变量都是public static final而且一定要赋予初值 接口中的静态函数必须有函数体 接口在声明时 ...

  5. java抽象机制_Java很好学:接口+抽象类+事件监听机制

    接口?抽象类? 首先知道知道下接口.抽象类的概念 接口:只含有常量和抽象方法(只有方法名和参数不含方法体的方法) 抽象类:可以定义常量和抽象方法(和接口一样),还可以定义变量和普通方法和构造方法(和一 ...

  6. java过滤器命名_Java命名目录接口(JNDI)教程

    命名和目录操作 您可以使用JNDI执行以下操作:读取操作和更新命名空间的操作.本节介绍这两个操作: l查询对象 l列出上下文内容 l添加.覆盖和移除绑定 l重命名对象 l创建和销毁子上下文 配置 在命 ...

  7. java+调用飞信_java调用飞信接口发短信

    java调用飞信接口发短信,看到挺好的,有利于大家做毕业设计加亮点,就发给大家了(新人发帖,不会发多个文件名,测试类就放这了) 需要这3个jar包: commons-codec-1.4.jar com ...

  8. java comparable排序_java 实现Comparable接口排序,升序、降序、倒叙

    本人由于项目开发中需要对查询结果list进行排序,这里根据的是每一个对象中的创建时间降序排序.本人讲解不深,只实现目的,如需理解原理还需查阅更深的资料. 1.实现的效果 2.创建排序的对象 packa ...

  9. java condition原理_java中Condition接口原理及实现

    Condition是在java 1.5中才出现的,它用来替代传统的Object的wait().notify()实现线程间的协作,相比Object的wait().notify(),使用Condition ...

最新文章

  1. dz seo插件_河北seo优化网络推广报价单
  2. 第四期 | 带学斯坦福CS224n自然语言处理课+带打全球Kaggle比赛(文末重金招募老师!)...
  3. 效能优化实践:C/C++单元测试万能插桩工具
  4. mysql 索引 原理_MySQL索引实现原理分析
  5. ubuntu中获取文件名称并生成txt文件
  6. [js] 请写一个性能最好的深度克隆对象的方法
  7. 需求、需求工程与需求工程师 — 4. 咨询能力的要求
  8. python基础语法_字符串编码
  9. 真正的代码宝库:Google Code Search
  10. c++调用python原理_C++调用Python浅析
  11. stm32F1的JTAG、SWJ作为普通引脚使用。禁用JTAG、SWJ。
  12. python 利器_python利器之切片
  13. ipad中的active失效?
  14. hdu 1209 clocks wrong answer 我的错误代码(没审好题唉,角度一样后,还要按小时排序。...
  15. C#的winform中MDI 父窗体改变背景色[转]
  16. Flash上传文件(结合asp.net) (转)
  17. python如何使用ppip安装xlwt_如何安装python xlwt
  18. Cdn英文的读音音标_教育 | 老司机请回答:孩子学英文自然拼读和中文拼音会不会混?...
  19. 几何语言点C是ab的中点,数学几何定理符号语言[教学备用]
  20. 中国石油大学c语言程序设计答案,中国石油大学C语言程序设计第一册在线作业答案...

热门文章

  1. WEB开发中的会话控制
  2. 新手入门深度学习 | 4-4:保存模型的N种方法
  3. Frighting的日常:第7天
  4. Python入门100题 | 第016题
  5. Global Mapper怎么能够导出.xyz文件
  6. 【分布式计算】分布式日志导入工具-Flume
  7. 如何通过一个类名找到它属于哪个jar包?
  8. 【Python】matplotlib基础:数据可视化
  9. 反欺诈之地址的处理和使用
  10. Vue.js(一) Vue.js + element-ui 扫盲