c# gb2312转utf-8解决方法

c# gb2312转utf-8
Encoding utf8=Encoding.GetEncoding("utf-8");
            Encoding gb=Encoding.GetEncoding("gb2312");
            string aa = File.ReadAllText(path);
            byte[] str=gb.GetBytes(aa);
            byte[] bb = Encoding.Convert(utf8,gb,str);
            File.WriteAllText(path,utf8.GetString(bb));


不对转化之后全是??????

------解决思路----------------------
当然,如果文件很小,占用内存很少,你可以写成
var data = File.ReadAllBytes(path);
data = Encoding.UTF8.GetBytes(Encoding.GetEncoding("gb2312").GetString(data));
File.WriteAllBytes(path, data);