编码转换问题,谁知道怎么解决,什么原理?
private void button1_Click(object sender, EventArgs e)
{
//将"你们好"从GB2312 转换成UTF-8这时ss是乱码
string ss = ConvertFunc("你们好", "utf-8", "gb2312");
//将乱码转换成GB2312就编成"你们?",经过测试发现,如果是双数的中文,就没问题,单数的中午就会末尾变?号,这是为什么,为什么?
MessageBox.Show(ConvertFunc(ss, "gb2312", "utf-8"));
}
public string ConvertFunc(string str, string From, string To)
{
return Encoding.GetEncoding(To).GetString(Encoding.GetEncoding(From).GetBytes(str));
}