我想在一个字节中切换两个十六进制符号,例如,如果
input = 0xEA
然后
output = 0xAE
它必须在java中。
我已经有了这个方法,但它只在某些情况下有效:
public static final byte convert(byte in){
byte hex1 = (byte) (in << 4);
byte hex2 = (byte) (in >>> 4);
return (byte) (hex1 | hex2);
}
一个工作示例是:
input: 0x3A
hex1: 0xA0
hex2: 0x03
output: 0xA3
一个不工作的例子是:
input: 0xEA
hex1: 0xA0
hex2: 0xFE
output: 0xFE
任何人都可以阐明为什么这不起作用?