java中字节数组如何初始化呢?

java-教程王 Java经验 发布时间:2022-04-05 11:10:37 阅读数:19199 1
下文笔者讲述将一个十六进制字符串初始化为一个数组的方法分享,如下所示:
实现思路:
    定义一个十六进制字符串转换数组的方法
	 方法中对十六进制字符串依次遍历
	然后转成字节数
例:
package com.java265.other;
public class Test14 {
	/**
	 * java265.com 示例 十六进制字符串转字节
	 */
	public static void main(String... args) {
		byte[] t = hexStringToBytes("A23d454646");
		printHexString(t);
	}

	public static byte[] hexStringToBytes(String hexString) {
		if (hexString == null || hexString.equals("")) {
			return null;
		}
		hexString = hexString.toUpperCase();
		int length = hexString.length() / 2;
		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]));
		}
		return d;
	}

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

	// 将指定byte数组以16进制的形式打印到控制台
	public static void printHexString(byte[] b) {
		for (int i = 0; i < b.length; i++) {
			String hex = Integer.toHexString(b[i] & 0xFF);
			if (hex.length() == 1) {
				hex = '0' + hex;
			}
			System.out.print(hex.toUpperCase());
		}
	}
}

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202204/16491282972695.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者