在Android中将int转换为byte

Hus*_*ain 2 java int android byte casting

实际上我需要传递integer值与bitmapvia bluetooth..现在我的问题是我需要转移integer单个 byte值..是否可以转换 int单个 byte值..并检索它作为integer那里...我试过byteValue()铸造的东西,但它没有用..如果我的方法是正确的,只是帮助我这个或说一些其他的方式.

(每当我使用铸造时,它返回为65535)

Dan*_*ode 11

那这个呢?

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;
}
Run Code Online (Sandbox Code Playgroud)

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


Kon*_*rov 10

如果你完全确定,你的int变量包含一个字节值[-128; 127]那么它应该是这样简单:

int i = 100; // your int variable
byte b = (byte) i;
Run Code Online (Sandbox Code Playgroud)