String str = Encoding.UTF8.GetString(bt); //bt是个byte数组,内容是从文件读出来的
byte[] newbt = new byte[bt.Length];
newbt = Encoding.UTF8.GetBytes(str);
你好,出现你上面的情况,有一种可能是,填充bt数组的那个文件不是UTF8编码的文件,而是其他格式,比如Unicode,Ansi等,如果文件中还包含汉字,或者符号,这种情况下,使用楼主用的代码,就会导致前后byte数组不一致。
温馨提示:答案为网友推荐,仅供参考
第1个回答 2010-11-17
String str = Encoding.Default.GetString(bt); //bt是个byte数组,内容是从文件读出来的
byte[] newbt = new byte[bt.Length];
newbt = Encoding.UTF8.GetBytes(str);
byte[] newbt = new byte[bt.Length];
newbt = Encoding.UTF8.GetBytes(str);
第2个回答 2010-11-26
首先字符串是不是引用类型和和在结构中使用没关系,值类型和引用类型的区分就是传值来体现,如你写了两方法,你在另一个方法里面修改了前一个方法定义的一个值,如果那个值是值类型,那个值就不会边,如果是引用类型,那个值就会变
至于下面的问题初学的话就不要去弄了,越弄越糊涂,可以以后理解深了再去研究,不说你不会,许多工作了的人都不会去研究这些,一般的程序员用不上,呵呵
goodluck
至于下面的问题初学的话就不要去弄了,越弄越糊涂,可以以后理解深了再去研究,不说你不会,许多工作了的人都不会去研究这些,一般的程序员用不上,呵呵
goodluck
第3个回答 2010-11-17
应该是操作有误。