2014-02-18 110 views
2

我正在处理字节数组和字符串。我有一个字节数组,我修改,然后用于生成一个字符串。我看了很多在这个网站上的帖子,推荐使用BlockCopySystem.Text.Encoding.Default.GetString();我已经尝试过这些,但由于某种原因,我得到的字符串有所有乱码字符。使用字节数组和字符串

这是问题和我的期望。可以说我有个字节的十六进制编码的字符串如下:

string str = "f20bdba6ff29eed7b046d1df9fb70000"; 

对应阵列是:

byte[] arrayStr = new byte[] { 0xf2, 0x0b, 0xdb, 0xa6, 0xff, 0x29, 0xee, 0xd7, 0xb0, 0x46, 0xd1, 0xdf, 0x9f, 0xb7, 0x00, 0x00 }; 

请注意,在上面的字符串2个字符表示字节。

现在,让我们说我操纵arrayStr并将数组索引4(0xff)处的字节更改为(0xe1)。我想,我应该能够得到一个字符串这样的:

字符串str = “f20bdba6 E1 29eed7b046d1df9fb70000”;

回答

1

BitConverter

string str = BitConverter.ToString(arrayStr).Replace("-", ""); 
+0

感谢lot.That工作.. – CSC