package com.test; import java.util.Arrays; public class Bytes { private final static byte[] hex = "0123456789ABCDEF".getBytes(); private static int parse(char c) { if (c >= 'a') return (c - 'a' + 10) & 0x0f; if (c >= 'A') return (c - 'A' + 10) & 0x0f; return (c - '0') & 0x0f; } // 从字节数组到十六进制字符串转换 public static String Bytes2HexString(byte[] b) { byte[] buff = new byte[2 * b.length]; for (int i = 0; i < b.length; i++) { buff[2 * i] = hex[(b[i] >> 4) & 0x0f]; buff[2 * i + 1] = hex[b[i] & 0x0f]; } return new String(buff); } // 从十六进制字符串到字节数组转换 public static byte[] HexString2Bytes(String hexstr) { byte[] b = new byte[hexstr.length() / 2]; int j = 0; for (int i = 0; i < b.length; i++) { char c0 = hexstr.charAt(j++); char c1 = hexstr.charAt(j++); b[i] = (byte) ((parse(c0) << 4) | parse(c1)); } return b; } public static void main(String[] args) { byte[] bt = new byte[]{10, 2, 12, 14, 1, 0, 0, 1, 0, 31, 45, 1, 8, 0, 1, 0, -96, -45, 10, 3}; System.out.println(Bytes2HexString(bt)); System.out.println(Arrays.toString(HexString2Bytes("0A020C0E01000001001F2D0108000100A0D30A03"))); } }
打印结果:
0A020C0E01000001001F2D0108000100A0D30A03 [10, 2, 12, 14, 1, 0, 0, 1, 0, 31, 45, 1, 8, 0, 1, 0, -96, -45, 10, 3]
请您到ITEYE看我的原创:http://cuisuqiang.iteye.com
或支持我的个人博客,地址:http://www.javacui.com
相关推荐
在Android开发中,有时我们需要将字节数组(byte array)转换为十六进制字符串,以便于数据存储、传输或调试。这是因为字节数组是二进制数据,而十六进制字符串则是一种人类可读的表示方式。下面我们将详细讨论如何...
5. **十六进制转二进制**:先将十六进制转换为十进制,再转为二进制。例如: ```java String hex = "1A"; int decimal = Integer.parseInt(hex, 16); String binary = Integer.toBinaryString(decimal); ``` 6. **...
由C代码翻译过来的PHP CRC8算法,内有十六进制转字节数组与字节数组转十六进制,内有十六进制转byte数组与byte数组转十六进制
1. **二进制与十六进制转换** - 二进制是一种基于2的计数系统,只包含两个数字:0和1。 - 十六进制是一种基于16的计数系统,由0-9的阿拉伯数字和A-F的字母(代表10-15)组成。 - 在Java中,可以使用`Integer....
C#字节数组转16进制字符串 C#字节数组转16进制字符串 QQ:292258449
在这个场景下,我们需要理解如何在LabVIEW中将ASCII码字符串(通常以十六进制形式表示)转换为字节数组,反之亦然。 首先,我们要了解ASCII码。ASCII(American Standard Code for Information Interchange,美国...
作业要求补全附件中的程序ConvertUtil类。 说明:完成字节数组与BASE64编码、字节数组与十六进制的转换
### 三、字节数组与十六进制之间的转换 #### 3.1 字节数组转十六进制 当处理字节数组时,可以直接将每个字节转换为十六进制形式: ```csharp public static string ByteArrayToHexString(byte[] bytes) { ...
在IT行业中,数据的存储和处理常常涉及到不同的进制转换,比如从十进制到二进制,或者从十六进制到字节数组。在Java编程中,将十六进制位串转化为byte数组是一项常见的操作,特别是在处理二进制数据、网络通信或者...
byte数组、十进制、十六进制间的两两转换
由于字符型在大多数系统中占据一个字节,我们可以直接使用它来存储十六进制转换后的字节值。例如,要将十六进制数"4A"转换为字节,可以这样做: ```c char hexByte = 0x4A; ``` 这里的`0x`前缀是C语言中的十六进制...
在探讨“单精度浮点数与十六进制转换_C语言程序”这一主题时,我们首先需要理解几个核心概念:单精度浮点数、十六进制以及它们之间的转换机制。此外,我们将深入分析C语言中实现这些转换的具体方法,以及如何在...
1. 字节数组到十六进制字符串的转换:用于将字节数组的数据转换成易于阅读和传递的十六进制格式。 2. 十六进制字符串到字节数组的转换:相反地,这个方法将十六进制字符串解析回原始字节数组形式。 3. 其他辅助方法...
该工具类主要提供了将字节数组转换为十六进制字符数组或字符串的方法,以及将字符串转换为十六进制字符数组或字符串的方法。 在Java中,十六进制是一种常用的进制,它可以用数字0到9和字母A到F表示。十六进制在...
十六进制与jpg图片之间的转换涉及到两个主要过程:十六进制到二进制的转换以及二进制到jpg图像的还原。十六进制数据首先需要转换为二进制,因为计算机是以二进制形式(0和1)处理数据的。这个过程可以通过将每个十六...
/* java二进制,字节数组,字符,十六进制,BCD编码转换2007-06-07 00:17/** *//** * 把16进制字符串转换成字节数组 * @param hex * @return */
以下是一个简单的Java方法,用于将字节数组转换为十六进制字符串: ```java public static String bytesToHex(byte[] bytes) { StringBuilder sb = new StringBuilder(); for (byte b : bytes) { sb.append...
labview 读取的一维数组(整数)转换成16进制的字符串,方便大家进行数据处理。有问题可以留言咨询,互相学习
具体实现时,程序会逐个读取JPG文件的字节,并将其转换为十六进制字符串。例如,字节0xFF会被转换成“FF”,0xD8会被转换成“D8”,以此类推。转换后的十六进制字符串会被写入TXT文件,形成一连串的十六进制数据,如...