簡體   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