我正在使用字节数组和字符串。我有一个字节数组,我修改,然后用于生成一个字符串。我查看过本网站上有很多帖子建议使用BlockCopy
或System.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)。我希望我能够得到一个字符串:
string str =“f20bdba6 e1 29eed7b046d1df9fb70000”;