问题描述: 英文数据保存到文件和读取到dataGridView都没有问题!中文数据写入没有问题!但中文读取到dataGridView出现错误!
我的结论是中文写入加密出现了问题,所以读取不了!但不知道怎么解决问题~~请大家赐教~~~~谢谢你的关注~~~~~
//数据写入文件//FileStream fs = new FileStream(@"data.dat", FileMode.Append); StreamWriter sw = new StreamWriter(fs);
sw.Write(Convert.ToBase64String(System.Text.Encoding.Default.GetBytes(txtAddress.Text + ";")));
sw.Write(Convert.ToBase64String(System.Text.Encoding.Default.GetBytes(txtUserName.Text + ";")));
sw.Write(Convert.ToBase64String(System.Text.Encoding.Default.GetBytes(txtPwd.Text + ";")));
sw.WriteLine(Convert.ToBase64String(System.Text.Encoding.Default.GetBytes(txtRe.Text)));
sw.Close();
fs.Close();
//文件数据读取//
List<ClassID> ls = new List<ClassID>();
StreamReader sr = new StreamReader(@"data.dat", System.Text.Encoding.UTF8);
while (!sr.EndOfStream)
{
String s = sr.ReadLine();
Byte[] binaryData = Convert.FromBase64String(s);
String message = System.Text.Encoding.Default.GetString(binaryData);
//MessageBox.Show(message);
String[] sl = message.Split(new char[] { ';' });
ClassID cid = new ClassID();
cid.A = sl[0];
cid.B = sl[1];
cid.C = sl[2];
cid.D = sl[3];
ls.Add(cid);
}
dataGridView.DataSource = ls;
sr.Close();
我的结论是中文写入加密出现了问题,所以读取不了!但不知道怎么解决问题~~请大家赐教~~~~谢谢你的关注~~~~~
//数据写入文件//FileStream fs = new FileStream(@"data.dat", FileMode.Append); StreamWriter sw = new StreamWriter(fs);
sw.Write(Convert.ToBase64String(System.Text.Encoding.Default.GetBytes(txtAddress.Text + ";")));
sw.Write(Convert.ToBase64String(System.Text.Encoding.Default.GetBytes(txtUserName.Text + ";")));
sw.Write(Convert.ToBase64String(System.Text.Encoding.Default.GetBytes(txtPwd.Text + ";")));
sw.WriteLine(Convert.ToBase64String(System.Text.Encoding.Default.GetBytes(txtRe.Text)));
sw.Close();
fs.Close();
//文件数据读取//
List<ClassID> ls = new List<ClassID>();
StreamReader sr = new StreamReader(@"data.dat", System.Text.Encoding.UTF8);
while (!sr.EndOfStream)
{
String s = sr.ReadLine();
Byte[] binaryData = Convert.FromBase64String(s);
String message = System.Text.Encoding.Default.GetString(binaryData);
//MessageBox.Show(message);
String[] sl = message.Split(new char[] { ';' });
ClassID cid = new ClassID();
cid.A = sl[0];
cid.B = sl[1];
cid.C = sl[2];
cid.D = sl[3];
ls.Add(cid);
}
dataGridView.DataSource = ls;
sr.Close();
解决方案 »
- 一个c# winform的问题,panel控件如何前端显示?
- (高分)关于数据访问,请大家支招,
- 一个在C#很低级的问题,@myName和myName区别?
- c#中关于图片文件与数据库IMAGE格式之间的转换
- 数据库表和类似DataGrid表格显示同步的问题
- Aspose.Excel问题
- SqlConnection 连接类支持多线程吗?
- 新闻发布系统(增删改页面)控件ID
- 3147431, .net qq群组,欢迎加入
- 谁能帮忙给个C# 上传视频到服务器指定文件夹的代码 CS结构 http方式上传的
- 如何在固定大小的窗体上手形拖动一张局部大的图像来查看整个原始大图片?
- 用代码来设置本机DCOM,难道都没搞过??
String inString = txtAddress.Text + ";" + txtUserName.Text + ";" + txtPwd.Text + ";" + txtRe.Text;
sw.WriteLine(Convert.ToBase64String(System.Text.Encoding.Default.GetBytes(inString)));