在java中将单个十六进制字符转换为其字节值

nos*_*nos 4 java hex

比方说,我有一个十六进制字符

char c = 'A';
Run Code Online (Sandbox Code Playgroud)

将其转换为整数值的正确方法是什么?

int value =??; 
assert(a == 10);
Run Code Online (Sandbox Code Playgroud)

如果a是int或byte ,那么现在真的没关系.

Vic*_*tor 18

我不明白你为什么要转换为字符串......实际上这就是parseInt使用的:

public static int digit(char ch,int radix)

int hv = Character.digit(c,16);
if(hv<0)
    //do something else because it's not hex then.
Run Code Online (Sandbox Code Playgroud)


jqn*_*qno 5

int value;
try {
    value = Integer.parseInt(Character.toString(c), 16);
}
catch (NumberFormatException e) {
    throw new IllegalArgumentException("Not a hex char");
}
Run Code Online (Sandbox Code Playgroud)


nos*_*nos 5

不过我自己找到了.

int i = Character.digit('A',16);
Run Code Online (Sandbox Code Playgroud)