【发布时间】:2014-04-30 07:20:42
【问题描述】:
我想将包含二进制数的字符串转换为字节数组。 为此,我有这个功能:
private byte[] ToByteArray(string StringToConvert)
{
byte[] ByteArray = new byte[StringToConvert.Length/8];
byte temp;
for (int i = 0; i < StringToConvert.Length; i=i+8)
{
for (int j = i; j < 8; j++)
{
temp = Convert.ToByte(StringToConvert[j]);
ByteArray[i]=ByteArray[i] << temp;
}
}
return ByteArray;
}
我得到一个错误,我无法将字节转换为 int(?) 在
ByteArray[i]=ByteArray[i]<< temp;
我做错了什么?
【问题讨论】:
-
你真正想做什么?字节不是位。
-
ByteArray[i]=(byte)(ByteArray[i] << temp); -
for (int j = i; j < 8;看起来很可疑。 -
你从一个充满
0的数组开始,然后它们只会四处移动......最终结果:全为零。 -
我想取 8 位并使其成为一个字节,这就是重点。 Henk Holterman 你有更好的解决方案吗?