java中字节数组如何初始化呢?
下文笔者讲述将一个十六进制字符串初始化为一个数组的方法分享,如下所示:
实现思路: 定义一个十六进制字符串转换数组的方法 方法中对十六进制字符串依次遍历 然后转成字节数例:
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()); } } }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。