簡體   English   中英

如何將負十六進制值轉換為字符串和字節數組

[英]How to convert minus hex value to String and byte array

我想將十進制-10值轉換為字符串和字節數組格式的十六進制。

我努力了

String minHex = Integer.toHexString(Integer.valueOf(-10));
System.out.println(minHex);

結果為fffffff6 ,我認為這是不正確的。 為了轉換字節數組,我使用下面的函數,我從

使用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));
        }
        return data;
}

因此也不確定它是否適用於負十六進制值。

要將十六進制轉換為String ,即將-10轉換為-a ,請使用:

String hex = Integer.toString(-10, 16);

要轉換為byte數組,只需將int轉換為byte數組,其表示方式相同:

byte[] bytes = ByteBuffer.allocate(4).putInt(-10).array();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM