我在寫一個小應用程序的函數來打破一個可回收的一次性密碼密碼。在我職業生涯的大部分時間使用VB.NET後,我認爲在C#中實現應用程序會很有趣。但是,由於我目前不熟悉C#,所以遇到了一個問題。轉換字符數組到字符串的問題
該函數需要兩個字符串(二進制數字),將這些字符串轉換爲char數組,然後對它們執行XOR並將結果放入第三個char數組中。
這很好,直到我嘗試將第三個字符數組轉換爲字符串。而不是看起來像「11001101」等字符串,我得到以下結果:「\ 0 \ 0 \ 0」,即「1」由空格表示,「0」由「\ 0」表示。
我的代碼如下:
public string calcXor(string a, string b)
{
char[] charAArray = a.ToCharArray();
char[] charBArray = b.ToCharArray();
int len = 0;
// Set length to be the length of the shorter string
if (a.Length > b.Length)
len = b.Length - 1;
else
len = a.Length - 1;
char[] result = new char[len];
for (int i = 0; i < len; i++)
{
result[i] = (char)(charAArray[i]^charBArray[i]);
}
return new string(result);
}
如果你不異或二進制數據表示字符,而不是代表二進制數據字符「1 '和'0'?從你所問的內容稍微退一步,但.. –
我只是等待我的聲望達到15,然後我可以回答投票。 –