繁体   English   中英

在Java中将六进制字符串转换为十六进制字符串字节数组

[英]Convert the hexa string into hex string byte array in Java

我很难尝试将包含十六进制字符串表示形式的字符串转换为其相应的十六进制字符串字节数组。

我尝试了这段代码

public static byte[] hexStringToByteArray(String s) {
    int len = s.length();
    byte[] data = new byte[len / 2];
    for (int i = 0; i < len; i += 2) {
        data[i / 2] = (byte) (((Character.digit(s.charAt(i), 16) << 4) + Character.digit(s
                .charAt(i + 1), 16)) & 0xFF);
    }
    return data;
}

这不是我在上面的代码中寻找“ FF”-> -1的确切值。

期望是“ FF”-> byte [] {FF}。

例如: “ 01FF0A2357F01A”的结果应类似于此byte [] {01 FF 0A 12 57 F0 1A}。

我认为您的期望并不正确,但是,

    String hex = "ff";
    Integer i = Integer.valueOf(hex, 16);
    System.out.println(i);
    Byte b = i.byteValue();
    System.out.println(b);
    System.out.println(Integer.toHexString(i));

FF-1的字符串表示形式(十六进制)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM