我想将我的文本转换为二进制文件并将其与某些值进行异或,但我收到错误:
System.InvalidCastException:无法转换类型的对象 ' System.Text.StringBuilder'输入' System.IConvertible'。
我的代码是:
public static string StringToBinary(string data)
{
StringBuilder sb = new StringBuilder();
foreach (char c in data.ToCharArray())
{
sb.Append(Convert.ToString(c, 2).PadLeft(8, '0'));
}
var abc = Convert.ToInt32(sb);
var k = abc ^ 210;
return k.ToString();
}
看起来我无法将二进制转换为int。还有其他办法吗?
答案 0 :(得分:2)
由于此data
字符串上有整数值,因此您可以尝试使用Convert
类,您可以在其中传递要转换的基数。二进制是基础2
,所以,试试这个:
public static string StringToBinary(string data)
{
int result = Convert.ToInt32(data, 2);
return result.ToString();
}
答案 1 :(得分:1)
为什么不使用内置方法。您可以在base
函数中将2
作为Convert.ToInt32
传递。
int outputAsInt = Convert.ToInt32(data, 2);
或者如果你想在字符串中输出,那么只需使用.ToString()函数。
string outputAsString = Convert.ToInt32(data, 2).ToString();