簡體   English   中英

從字符串轉換為十六進制數組

[英]Converting from a string to hex array

將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”的迭代時出現異常

Convert.ToByte();

它在重載中表示它只接受字符串格式的數字。

您必須考慮是否使用正確的方法,或事先進行轉換。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM