Java:commons-codec实现byte数组和16进制字符串转换

简介: 在上述代码中,`Hex.encodeHexString(bytes)`用于将byte数组转换为16进制字符串,`Hex.decodeHex(hexString)`用于将16进制字符串转换为byte数组。

在Java中,可以使用Apache的commons-codec库来实现byte数组和16进制字符串的转换。以下是一个简单的示例:

首先,确保你的项目中已经引入了commons-codec库。如果使用Maven,可以在pom.xml文件中添加以下依赖:

<dependency>
    <groupId>commons-codec</groupId>
    <artifactId>commons-codec</artifactId>
    <version>1.15</version>
</dependency>

然后,可以使用Hex类来实现转换:

import org.apache.commons.codec.binary.Hex;

public class Main {
    public static void main(String[] args) {
        // byte数组转16进制字符串
        byte[] bytes = {10, 2, 15, 11};
        String hexString = Hex.encodeHexString(bytes);
        System.out.println(hexString);

        // 16进制字符串转byte数组
        try {
            byte[] bytesFromHex = Hex.decodeHex(hexString);
            for (byte b : bytesFromHex) {
                System.out.println(b);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

在上述代码中,Hex.encodeHexString(bytes)用于将byte数组转换为16进制字符串,Hex.decodeHex(hexString)用于将16进制字符串转换为byte数组。

目录
相关文章
|
4天前
|
前端开发 JavaScript Java
【前端学java】详解java中的字符串操作(11)
【8月更文挑战第10天】详解java中的字符串操作
8 3
【前端学java】详解java中的字符串操作(11)
|
4天前
|
存储 前端开发 JavaScript
【前端学java】一篇文章带你精通java 中的数组(10)
【8月更文挑战第10天】一篇文章带你精通java 中的数组
9 3
【前端学java】一篇文章带你精通java 中的数组(10)
|
4天前
|
Java 索引
java中的栈(利用数组实现栈)
这篇文章通过Java代码示例介绍了如何使用数组实现栈操作,包括栈的初始化、入栈、出栈、判断栈满和空以及遍历栈的方法。
java中的栈(利用数组实现栈)
|
2天前
|
Java API 开发者
|
10天前
|
Java
Java数组几道练习题
Java数组几道练习题
27 11
|
4天前
|
人工智能 Java 容器
十个Java字符串操作示例程序
十个Java字符串操作示例程序
5 1
|
6天前
|
存储 JavaScript Java
Java中未被初始化的字符串打印出“null”?
在Java中,未初始化的`String`变量默认值为`null`。打印此类变量时输出“null”,是因为`PrintStream`类中的`print`方法特别处理了`null`值,将其转换为字符串“null”。从JDK 17开始,`println`方法通过`String.valueOf`间接实现相同功能。当拼接包含`null`的字符串时,如`s1 + &quot;BLACK&quot;`,结果为“nullBLACK”,这是因为字符串构建过程中`StringBuilder`的`append`方法将`null`转换为“null”。
|
4天前
|
Java
Java中 字符串,字符串数组,整型数组初始化
Java中 字符串,字符串数组,整型数组初始化
5 0
|
4天前
MAC 转 Byte[] 数组
MAC 转 Byte[] 数组
7 0
|
9天前
|
算法 Java 索引
LeetCode初级算法题:寻找数组的中心索引+x的平方根+三个数的最大乘积+Leetcode 149:直线上最多的点数 Java详解
LeetCode初级算法题:寻找数组的中心索引+x的平方根+三个数的最大乘积+Leetcode 149:直线上最多的点数 Java详解
19 0