将char转换为十六进制值时出现问题,当char为数字时,下面的代码可以正常工作,但是当char为后者时,它将抛出异常
System.FormatException:'输入字符串的格式不正确
代码:
public byte[,] get_state(string plainText)
{
char[] cplainText = plainText.ToCharArray();
byte[,] state = new byte[4, 4];
plainText = plainText.Remove(0, 2);
for (int i = 0; i < 4; i++)
{
for (int j = 0; j < 4; j+=2)
{
string sub = plainText.Substring((i * 4 + j), 2);
state[i, j] = Convert.ToByte(sub);
}
}
return state;
}
输入字符串为“ 0x3243F6A8885A308D313198A2e0370734”,并且在迭代“ F6”时出现异常
答案 0 :(得分:0)
Convert.ToByte();
在重载中表示仅接受字符串格式的数字。
您必须考虑是否使用正确的方法,或者事先进行转换。