1.解释
十六进制(Hex):计算机中数据的一种表示方法,它由0-9,A-F组成,字母不区分大小写。与10进制的对应关系是:0-9对应0-9;A-F对应10-15。

字节(byte): java中一个byte为8个二进制位。

转换原理:
每个二进制位有两种状态,分别为0,1
因此,两个二进制位有4种状态,分别为:00,01,10,11
三个二进制位有8种状态,分别为000,001,010,011,100,101,110,111
四个二进制位有十六种状态,0000,0001…1110,1111. 即十六进制

一个十六进制数(Hex),正好为4个二进制位。一个字节(byte)为8个二进制位。因此,一个字节可表示为两个十六进制数字。
因此,我们可以将一个byte用两个Hex表示,同理,我们也可以将两个Hex转换为一个byte。

2.工具类

public class ByteTransformUtil {/*** 字节转十六进制** @param b 需要进行转换的byte字节* @return 转换后的Hex字符串*/public static String byteToHex(byte b) {String hex = Integer.toHexString(b & 0xFF);if (hex.length() < 2) {hex = "0" + hex;}return hex;}/*** 字节数组转16进制* @param bytes 需要转换的byte数组* @return  转换后的Hex字符串*/public static String bytesToHex(byte[] bytes) {StringBuffer sb = new StringBuffer();for(int i = 0; i < bytes.length; i++) {String hex = Integer.toHexString(bytes[i] & 0xFF);if(hex.length() < 2){sb.append(0);}sb.append(hex);}return sb.toString();}/*** Hex字符串转byte* @param inHex 待转换的Hex字符串* @return  转换后的byte*/public static byte hexToByte(String inHex){return (byte)Integer.parseInt(inHex,16);}/*** hex字符串转byte数组* @param inHex 待转换的Hex字符串* @return  转换后的byte数组结果*/public static byte[] hexToByteArray(String inHex){int hexlen = inHex.length();byte[] result;if (hexlen % 2 == 1){//奇数hexlen++;result = new byte[(hexlen/2)];inHex="0"+inHex;}else {//偶数result = new byte[(hexlen/2)];}int j=0;for (int i = 0; i < hexlen; i+=2){result[j]=hexToByte(inHex.substring(i,i+2));j++;}return result;}
}

注:这里主要是做记录不方便以后使用

Android byte与16进制相互转换相关推荐

  1. android byte转16进制字符串,如何将字节数组转换为十六进制字符串,反之亦然?...

    我通过一些粗略的Stopwatch性能测试运行了各种转换方法,一个带有随机句子的运行(n = 61,1000次迭代)和一个带有Project Gutenburg文本的运行(n = 1,238,957, ...

  2. java中的进制输出转换_java中进制的转换,Byte与16进制的转换

    java中对于进制的转换有很多方式,其中对于常见的基本的二进制 八进制 十进制 十六进制等的转换有对于的包装类实现,不需要通过二外的算法来进行实现,具体如下: 首先关于最简单的二进制转换的方法有: 十 ...

  3. android进制之间的转换器,一个Android平台的16进制转换器

    <一个Android平台的16进制转换器>由会员分享,可在线阅读,更多相关<一个Android平台的16进制转换器(1页珍藏版)>请在人人文库网上搜索. 1.一个An droi ...

  4. byte转16进制字符串<——>16进制转byte

    我在编写串口通讯软件时需要将byte字节转为16进制字符串,或者将16进制字符串转为byte,通过写两个方法完成两方的转换 1.byte转16进制字符串 public static string By ...

  5. linux ascii与字符相互转换,ascii 字符串和16进制相互转换

    python 实现的 ascii 字符串和16进制相互转换,备忘一下.有时候转换个IP地址会用到. ''' _ooOoo_ o8888888o 88" . "88 (| -_- | ...

  6. 位(bit)与字节(byte)16进制值表现形式之间的转换

    小白近很长时间未更新,是因为换工作了,目前行业是涉及到硬件的的工作. 今日因工作需要,学习到了位(bit)与字节(byte)16进制值表现形式之间的转换,故此记录一下. 下面的内容为位(bit)与字节 ...

  7. Java的String/byte[]/16进制相互转换

    源代码下载地址: http://www.zuidaima.com/share/1550463378410496.htm Java 字符串转 16 进制工具类 Hex.java 实现 16进制 0xfe ...

  8. Java中byte与16进制字符串的互相转换

    https://www.cnblogs.com/qinwangchen/p/5418028.html * Convert byte[] to hex string.这里我们可以将byte转换成int, ...

  9. java php des加密 byte数组16进制 DESTools

    大家好,我是烤鸭: 今天分享的是java 和 php des 加密. 因为接口对接,难免不同语言,加密又是必不可少的. 作为接口的提供方,必须把加密规则写好,最好有不同语言的加密demo. 1.    ...

最新文章

  1. 1998-1999图灵奖
  2. python简单发音-Python如何实现文本转语音
  3. python做数据分析难么_做统计学习,数据分析应该学Python还是R?
  4. android 加载条封装,Android基于JsBridge封装的高效带加载进度的WebView
  5. PMP 第七章 项目成本管理
  6. SilverLight:基础控件使用(5)-TreeView控件-基本使用
  7. java中workbook_java使用Workbook进行excel读取和创建
  8. Linux 杀掉所有Java进程
  9. mysql innodb 间隙锁_Mysql innodb 间隙锁
  10. Java中什么是JAP之hibernate-mvc修改功能-Springmvc
  11. smarty3.0中文手册文档API及使用指南
  12. Java中String使用及分析(UTF-8简单编码/解码器实现)
  13. 关于CNN中感受野的理解和计算方法
  14. 新账户的收发邮件服务器,轻松使用新电子邮件系统-信息化建设与管理处
  15. C++Primer 第9章 顺序容器
  16. 武魂java_js及jsp.java查错的几种方式
  17. 伪原创文章需要注意的地方有哪些
  18. 5角硬币中的币王,已价值16000元,谁家有?
  19. python提取身份证信息_Python selenium 身份证信息在线解析爬取
  20. PHP支付宝当面付异步回调如何实现验签

热门文章

  1. linux运行xterm,Linux XTerm的使用
  2. CCNP CISCO 路由器 BGP路由协议在GNS3player模拟器上的配置示例详解
  3. 基于html的奥特曼资料大全的页面设计
  4. 股票振幅榜 API数据接口
  5. YOLOv7 tiny 新增小目标检测层
  6. 国产达梦数据库使用心得
  7. VC++6.0创建新项目
  8. 2018-2-13-win10-uwp-上传Nuget-让别人用我们的库
  9. 互联网大佬杨浩涌的创业历程,尽管遭遇合并但依旧辉煌
  10. onlyoffice 毕升文档部署