//content:base64(utf-8)的编码字符串
byte[] bytes = Convert.FromBase64String(content);
using (FileStream fs = new FileStream("c:\\test.txt", FileMode.OpenOrCreate))
{
fs.Write(bytes, 0, bytes.Length);
}
string decode = Encoding.GetEncoding("utf-8").GetString(bytes);问题:写入文件的内容和decode变量保存的不一样,怎么回事?
byte[] bytes = Convert.FromBase64String(content);
using (FileStream fs = new FileStream("c:\\test.txt", FileMode.OpenOrCreate))
{
fs.Write(bytes, 0, bytes.Length);
}
string decode = Encoding.GetEncoding("utf-8").GetString(bytes);问题:写入文件的内容和decode变量保存的不一样,怎么回事?
解决方案 »
- 水晶报表从来没做过,给我看下
- 如何正确设置窗体背景图片
- 超难问题:在winform中,如何能知道鼠标移动到了datagrid中的哪一列?
- 真急啊! 关于C# treeview 问题
- C# 怎么样把MMS封装成MIME格式
- 请教用ASP。NET和C#。NET开发网站,会用到哪些特殊的技术?,什么时候会用到WEBSERVICE?在线等,立结
- 神啊,救救我吧
- 连接字符串怎么样做更安全
- MM十万火急,送分,我用_dt.Rows.InsertAt(Row,0)怎么插入在最后一行?
- webservice可以不作为虚拟目录运行吗?
- SerialPort发送有没有延时?是立即发送吗?
- C#组件类中using System.Windows错误
string decode = System.Text.Encoding.GetEncoding("GB2312").GetString(bytes);
就可可以保证一致了
你是怎么判断不一样的?
我在Win7中文版下,decode 内容和txt文件里面的内容是一样的
decode = Encoding.GetEncoding("GB2312").GetString(bytes);
byte[] buffer = Encoding.GetEncoding(("GB2312").GetBytes(decode);也做个这样的测试
bytes和buffer两个数组不一样
getencoding.getbytes 是这个字符串以utf-8编码下 计算机内部二进制表示形式和base64 编码完全是两码事
byte[] bytes = Convert.FromBase64String(content);
string str = Encoding.GetEncoding("GBK").GetString(bytes);
Response.Write(str);
输出 hello你好
说明是文本的编码问题
太感谢各位了,我这里还是求解,为什么bytes和buffer的值不一样呢?大侠们,如果可以请使用我提供的字符串做测试。
byte[] bytes = System.Text.Encoding.Default.GetBytes(content);
FileStream fs = new FileStream("c:\\test.txt", FileMode.Create);
fs.Write(bytes, 0, Convert.ToInt32(bytes.Length));
fs.Flush();
fs.Close();
string decode = System.Text.Encoding.Default.GetString(bytes);
//将字节数组再转成字符串!!!//--bak-备份的方法也能用
//string decode = System.Text.Encoding.Default.GetString(bytes, 0, bytes.Length);
//可以标明起点和个数在字节数组中间获取!!!
//StreamReader sr = new StreamReader("c:\\test.txt", System.Text.Encoding.Default);
//string decode = sr.ReadToEnd();
//--bak-备份的方法也能用