簡體   English   中英

在Android中將int轉換為byte

[英]Converting int to byte in Android

實際上我需要通過bluetooth傳輸integer數值和bitmap ..現在我的問題是我需要將integer byte值..是否可以 int 轉換 byte值..並將其作為integer檢索那里...我嘗試了byteValue()鑄造的東西,但它沒有用。如果我的方法是正確的,只是幫我解決這個或說一些其他的方式。

(每當我使用鑄造時,它返回為65535)

那這個呢?

public static byte[] intToByteArray(int a)
{
    byte[] ret = new byte[4];
    ret[3] = (byte) (a & 0xFF);   
    ret[2] = (byte) ((a >> 8) & 0xFF);   
    ret[1] = (byte) ((a >> 16) & 0xFF);   
    ret[0] = (byte) ((a >> 24) & 0xFF);
    return ret;
}

public static int byteArrayToInt(byte[] b)
{
    return (b[3] & 0xFF) + ((b[2] & 0xFF) << 8) + ((b[1] & 0xFF) << 16) + ((b[0] & 0xFF) << 24);
}

如果你完全確定,你的int變量包含一個字節值[-128; 127]那么它應該是這樣簡單:

int i = 100; // your int variable
byte b = (byte) i;

單字節(8位)只能包含2 ^ 8個無符號整數,即[0,255]。 對於簽名,你松開第一位,范圍變為[-128,127]。 如果您的整數適合,則簡單的強制轉換應該有效。

為0-255數字。

int i = 200; // your int variable
byte b = (byte)(i & 0xFF);

暫無
暫無

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

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