我有一个字节数组,如下所示:
byte[] bArray = {0x41, 0x35, 0x42, 0x34, 0x44, 0x33}
我想做的就是将它们转换为char以获得类似的内容;
0x41 = 'A'
0x35 = '5'
0x42 = 'B'
0x34 = '4'
0x44 = 'D'
0x33 = '3'
在那之后,我需要加入他们以获得这个:
byte[] finalByte = { 0xA5, 0xB4, 0xD3}
然后我需要将finalByte中的那些字节写入文件。
通过这种方式,我可以完成任务:
public void groupBytes(byte[] bArray , byte[] finalByte )
{
byte sto = 0x00;
int j = 0;
for (int i = 0; i < bArray .Length; i += 2)
{
switch (bArray [i])
{
case 0x30: sto = 0x00; break;
case 0x31: sto = 0x01; break;
case 0x32: sto = 0x02; break;
case 0x33: sto = 0x03; break;
case 0x34: sto = 0x04; break;
case 0x35: sto = 0x05; break;
case 0x36: sto = 0x06; break;
case 0x37: sto = 0x07; break;
case 0x38: sto = 0x08; break;
case 0x39: sto = 0x09; break;
case 0x41: sto = 0x0A; break;
case 0x42: sto = 0x0B; break;
case 0x43: sto = 0x0C; break;
case 0x44: sto = 0x0D; break;
case 0x45: sto = 0x0E; break;
case 0x46: sto = 0x0F; break;
default: continue;
}
sto <<= 4;
switch (bArray [i + 1])
{
case 0x30: sto |= 0x00; break;
case 0x31: sto |= 0x01; break;
case 0x32: sto |= 0x02; break;
case 0x33: sto |= 0x03; break;
case 0x34: sto |= 0x04; break;
case 0x35: sto |= 0x05; break;
case 0x36: sto |= 0x06; break;
case 0x37: sto |= 0x07; break;
case 0x38: sto |= 0x08; break;
case 0x39: sto |= 0x09; break;
case 0x41: sto |= 0x0A; break;
case 0x42: sto |= 0x0B; break;
case 0x43: sto |= 0x0C; break;
case 0x44: sto |= 0x0D; break;
case 0x45: sto |= 0x0E; break;
case 0x46: sto |= 0x0F; break;
default: continue;
}
finalByte [j] = sto;
j++;
}
}
但是我敢肯定,有一种更好的c#方法可以做到这一点。