日期:2014-05-19  浏览次数:20771 次

【求助】为什么读取的 汉字字符串的 单数个字的个数总是少一个?多谢!
byte[]   bt   =   System.Text.Encoding.Default.GetBytes(value);//value是文件中的字符串
                                       
string   ss   =   System.Text.Encoding.GetEncoding( "UTF-8 ").GetString(bt,0,bt.Length);//   参数只用(bt)的话,结果一样

textBox1.AppendText(ss);
-------------------------
试了试只能用   utf8才能显示汉字,其余都乱码,如果是单数个字的话就会少显示一个字,
另外,如果是单数个字加其他字母或字符的话,仍然少一个字,字母或字符却可以显示。。。
------------------------
请问应该如何修改啊。。。比较急。。。
多谢多谢

------解决方案--------------------
byte[] bt = System.Text.Encoding.Default.GetBytes(value);//value是文件中的字符串
//把Default也换成utf-8试试看.

string ss = System.Text.Encoding.GetEncoding( "UTF-8 ").GetString(bt,0,bt.Length);// 参数只用
------解决方案--------------------
//value是文件中的字符串
这个value是如何读取的呢?如果文件本身就是utf-8的格式,在读取的时候就应该按此种格式来读.而不是default.

------解决方案--------------------
编码必须一致
byte[] bt = System.Text.Encoding.Default.GetBytes(value);//value是文件中的字符串
string ss = System.Text.Encoding.Default.GetString(bt, 0, bt.Length);//


不用为这些小技巧烦,轻松学习编程详见:http://www.psec.net.cn
------解决方案--------------------
再试一试
byte[] bt = System.Text.Encoding.UTF8.GetBytes(value);//value是文件中的字符串
string ss = System.Text.Encoding.UTF8.GetString(bt, 0, bt.Length);//
如果还有问题,那你的问题与这两语句无关,问题出在value