我的解析器有问题。
问题是我得到一个整数,如“8”,我需要将其转换为8位无符号字节。 稍后我将收到一个整数“56”并需要使用相同的方法对其进行转换,但是当我得到“-53”(例如)时,我会说这是通信和发送中的错误。
例如,
number = 538; //or 63492873 or 8 or 17826312631 or -231 or whatever
try{
byte response[] = Parse8BitUnsigned(number);
}catch(Idkexcepcion ex){
System.out.println("the number is a signed one");
byte response[] = Parse8BitSigned(number);
}
注意:Parse8BitSigned()和Parse8BitSigned()尚未实现。我需要任何数字的方法
答案 0 :(得分:0)
您可以使用ByteBuffer
做您想做的事情:
String number="8";
int num = Integer.valueOf(number);
if(num < 0 ) //ERROR
// Return 8 in a 4 bytes array
byte[] bytes = ByteBuffer.allocate(4).putInt(num).array();