将 "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
我有一个 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