这是一个血的教训,希望给看到的朋友也提供帮助;
例子:
byte[] org = new byte[] { xxx }; //此处可能包含大量数据,例如图片的码流
string tmpStr = Encoding.UTF8.GetString(org); //通过UTF8编码 将数据转为字符串
byte[] res = Encoding.UTF8.GetBytes(tmpStr); //通过UTF8编码 将字符串在转换为字节数组
这时,org 绝大情况下是不等于res。
因此在接Socket等类似业务处理时,需要根据字节全部计算完整后,在进行编码处理。
编码转换的工作一定要放在最后做。