将 "FFFF" 转换为字节

Convert "FFFF" To byte

我有一个 java 字符串,我必须将它转换成字节,但问题是字节不允许这样做,因为它的范围。我应该怎么办。 ?

String num = "FFFF";

字节有 8 位,因此值范围为 <-128,127> 或 <0x00,0xFF>,因此如果它表示整数 (65535),则不能将 0xFFFF 编码为字节,因为它不适合。

但是,如果它代表 Short 0xFFFF,则表示 -1(如果有符号),可以转换为字节。代码如下所示:

String num = "FFFF";
int n = Integer.parseInt(num,16);
System.out.println("int:"+n);
byte bn = (byte)n;
System.out.println("byte: "+bn);

它会像这样打印:

int:65535
byte: -1